我试图拉从pgatour.com使用Ruby脚本的一些历史数据,但我似乎无法得到它拉任何数据。红宝石,引入nokogiri,XPath和pgatour.com
我知道这之前已经讨论过,但我试过,我已经遇到和即将空白的所有解决方案,所以现在我一切都剥离到最基础的东西我能想到的尝试找出它是我还是网站。
我现在只是想抓住一个表中的一个元素,然后将其打印到控制台
要获得的XPath,我打开了Chrome开发者工具,发现在表中的分数,并右键单击以复制XPath,然后只用直接在代码中,但还是什么也没得到
require 'open-uri'
require 'nokogiri'
url = "http://www.pgatour.com/tournaments/safeway-open/past-results.html"
html = open(url)
doc = Nokogiri::HTML(html)
puts doc.xpath('//*[@id="pastResultsData"]/ul/li[1]/table/tbody/tr[2]/td[5]').text
难道我做错了什么?还是网站结构化,以便像我以上所做的简单的解决方案将无法正常工作?
规则#1:不要依赖于浏览器或嵌入在浏览器中找到选择,或HTML甚至布局的工具的输出。浏览器混淆了HTML。相反,可以在命令行使用'wget','curl'或'nokogiri',然后在那里查看,看看Nokogiri看到的是什么。赔率非常好,涉及DHTML,所以你想要的不是在页面中,直到JavaScript解释器加载它。 –