gpt4 book ai didi

ruby-on-rails - 使用 Nokogiri 提取元素

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:43 25 4
gpt4 key购买 nike

想知道是否有人可以帮助解决以下问题。我正在使用 Nokogiri 从 http://www.bbc.co.uk/sport/football/tables 中抓取一些数据

我想获取联赛表信息,到目前为止我已经知道了

def get_league_table # Get me Premier League Table
doc = Nokogiri::HTML(open(FIXTURE_URL))
table = doc.css('.table-stats')
teams = table.xpath('following-sibling::*[1]').css('tr.team')
teams.each do |team|
position = team.css('.position-number').text.strip
League.create!(position: position)
end
end

所以我想我会获取 .table-stats,然后在表格中的每一行都有一类球队,这些行包含我需要的所有信息,比如位置号、出场次数、球队名称等。

加入 tr.team 后,我想我可以做一个循环来从行中获取相关信息。

它是我卡住的 xpath 部分(除非我处理整个事情是错误的?),如何从 .t​​able-stats 进入 tr.team 类?

谁能指点一下?

谢谢

最佳答案

这是我为动态解析表格而制作的脚本,我根据您的情况对其进行了调整:

require 'open-uri'
require 'nokogiri'

url = 'http://www.bbc.co.uk/sport/football/tables'
doc = Nokogiri::HTML.parse(open url)
teams = doc.search('tbody tr.team')

keys = teams.first.search('td').map do |k|
k['class'].gsub('-', '_').to_sym
end

hsh = teams.flat_map do |team|
Hash[keys.zip(team.search('td').map(&:text))]
end

puts hsh

关于ruby-on-rails - 使用 Nokogiri 提取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com