Advertisement
Guest User

Untitled

a guest
Apr 9th, 2017
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.06 KB | None | 0 0
  1. require 'nokogiri'
  2.  
  3. file = File.open('personaskills.htm')
  4.  
  5. html = Nokogiri::HTML("http://persona4.wikidot.com/skill") #скачивал файл, для вас написал ссылочку на сайт
  6.  
  7. table = html.css('table.wiki-content-table')[0..2]
  8. skills_table = table.css('tr')
  9. titles = table.css('tr > th')
  10.  
  11. titlesRaw = []
  12.  
  13. (0...titles.length).step(7) { |i| titlesRaw.push(titles[i].text) }
  14.  
  15. titlesFinalized = titlesRaw[0..-4]
  16. titlesFinalized.push("Follow Up Attacks", "Rise's Support Skills", "Passive Skills")
  17.  
  18. skills = {}
  19.  
  20. element = ""
  21.  
  22. count = 0
  23.  
  24. skills_table.each do |row|
  25.   if row.css('th').text == titlesFinalized[count]
  26.     element = titlesFinalized[count]
  27.     count += 1
  28.   else
  29.     if row.css('th').text == ""
  30.       if row.css('td').length == 6
  31.         name = row.css('td')[1].text.downcase
  32.         name.gsub!(/['),. ]/, "")
  33.        name.gsub!(/[(-]/, "_")
  34.        skill_name = row.css('td')[1].text
  35.        skill_description = row.css('td')[2].text
  36.        skill_cost = row.css('td')[3].text
  37.        skill_target = row.css('td')[4].text
  38.        skills[name] = {name: skill_name, element: element, desсription: skill_description, cost: skill_cost, target: skill_target}
  39.      elsif row.css('td').length == 5
  40.        name = row.css('td')[1].text.downcase
  41.        name.gsub!(/['),. ]/, "")
  42.         name.gsub!(/[(-]/, "_")
  43.         skill_name = row.css('td')[1].text
  44.         skill_description = row.css('td')[2].text
  45.         skill_target = row.css('td')[3].text
  46.         skills[name] = {name: skill_name, element: element, desсription: skill_description, target: skill_target}
  47.       elsif row.css('td').length == 4
  48.         name = row.css('td')[1].text.downcase
  49.         name.gsub!(/['),. ]/, "")
  50.        name.gsub!(/[(-]/, "_")
  51.        skill_name = row.css('td')[1].text
  52.        skill_description = row.css('td')[2].text
  53.        skills[name] = {name: skill_name, element: element, desсription: skill_description}
  54.      end
  55.    end
  56.  end
  57. end
  58.  
  59. puts skills["agi"]
  60. puts skills["agi"][:cost].inspect
  61. puts skills["agi"][:description].inspect
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement