2016-02-14 27 views
-1
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 

輸出應該是:如何在HTML表格上抓取特定數據並從中輸出數組?

output = {date: venue: track: {time:,race_number:, race_name:, purse:}, ..., } 

,我需要從時間,race_number特定詞等

謝謝!我需要有一個數組輸出。我已經將HTML文件保存在我的電腦上,並在網址上使用它的路徑。

回答

1

你不能,在代碼中的特定網站,爲服務這個網站的條款 - Terms Of Use - 明確排除刮:

用戶行爲

您不能訪問或使用該網站以涉及使用計算機代碼或軟件應用程序(包括互聯網 機器人)的任何方式運行搜索,複製,「刮」,存儲 和/或重新使用本網站中的材料或產品的自動任務,無論是您的個人,非公司的 商業,娛樂目的或其他。

相關問題