require 'nokogiri'
require 'open-uri'
url = 'http://racingaustralia.horse/FreeFields/RaceProgram.aspx?Key=2016Feb13,VIC,Caulfield'
html = open(url)
doc = Nokogiri::HTML(html)
## get the:
# venue
venue_data = doc.css('.top h2')
venue = venue_data.text.split(':').first.strip
# date
date_data= doc.css('.top h2')
date = date_data.text.split(',').last.to_s.strip
# type of race track (metro, provincial, country)
race_track = doc.css('.top span')[1]
track_data = race_track.text.split(':').last
track = track_data.split('(').first.strip
## loop over races
table = doc.xpath('//table')
details = table.collect do |table|
time = table.at_xpath('tr[1]/th/a/text()')
race_number = table.at_xpath('tr[1]/th/a/span[1]/text()')
race_name = table.at_xpath('tr[1]/th/a/text()')
purse = table.at_xpath('tr[2]/td/b/text()')
end
输出应为:
output = {date: venue: track: {time:,race_number:, race_name:, purse:}, ..., }
我需要时间,race_number等具体的单词
谢谢!我需要一个数组输出。我已经将HTML文件保存在我的电脑上,并在网址上使用它的路径。
答案 0 :(得分:1)
对于代码中的特定网站,您无法作为此网站的服务条款 - Terms Of Use - 明确排除抓取:
用户行为
您不得以任何涉及该网站的方式访问或使用本网站 使用计算机代码或软件应用程序(包括Internet) 机器人)运行自动化任务,搜索,复制,"刮擦",存储 和/或重复使用本网站上的材料或产品,无论是否为您的 个人,非商业,娱乐目的或其他目的。