Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'nokogiri'
- file = File.open('personaskills.htm')
- html = Nokogiri::HTML("http://persona4.wikidot.com/skill") #скачивал файл, для вас написал ссылочку на сайт
- table = html.css('table.wiki-content-table')[0..2]
- skills_table = table.css('tr')
- titles = table.css('tr > th')
- titlesRaw = []
- (0...titles.length).step(7) { |i| titlesRaw.push(titles[i].text) }
- titlesFinalized = titlesRaw[0..-4]
- titlesFinalized.push("Follow Up Attacks", "Rise's Support Skills", "Passive Skills")
- skills = {}
- element = ""
- count = 0
- skills_table.each do |row|
- if row.css('th').text == titlesFinalized[count]
- element = titlesFinalized[count]
- count += 1
- else
- if row.css('th').text == ""
- if row.css('td').length == 6
- name = row.css('td')[1].text.downcase
- name.gsub!(/['),. ]/, "")
- name.gsub!(/[(-]/, "_")
- skill_name = row.css('td')[1].text
- skill_description = row.css('td')[2].text
- skill_cost = row.css('td')[3].text
- skill_target = row.css('td')[4].text
- skills[name] = {name: skill_name, element: element, desсription: skill_description, cost: skill_cost, target: skill_target}
- elsif row.css('td').length == 5
- name = row.css('td')[1].text.downcase
- name.gsub!(/['),. ]/, "")
- name.gsub!(/[(-]/, "_")
- skill_name = row.css('td')[1].text
- skill_description = row.css('td')[2].text
- skill_target = row.css('td')[3].text
- skills[name] = {name: skill_name, element: element, desсription: skill_description, target: skill_target}
- elsif row.css('td').length == 4
- name = row.css('td')[1].text.downcase
- name.gsub!(/['),. ]/, "")
- name.gsub!(/[(-]/, "_")
- skill_name = row.css('td')[1].text
- skill_description = row.css('td')[2].text
- skills[name] = {name: skill_name, element: element, desсription: skill_description}
- end
- end
- end
- end
- puts skills["agi"]
- puts skills["agi"][:cost].inspect
- puts skills["agi"][:description].inspect
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement