Ich versuche, einige historische Daten von pgatour.com mit einem Ruby-Skript zu ziehen, aber ich kann nicht scheinen, es zu bekommen, irgendwelche Daten überhaupt zu ziehen.Ruby, Nokogiri, Xpath und Pgatour.com
Ich weiß, dass dies bereits besprochen wurde, aber ich habe alle Lösungen ausprobiert, die mir bisher in den Sinn gekommen sind, und jetzt streiche ich alles auf das Einfachste herunter, was ich mir vorstellen kann um herauszufinden, ob es mich oder die Website ist.
Ich bin jetzt nur versuchen, ein Element aus einem Tisch zu packen und sie dann an die Konsole aus
XPath zu erhalten, öffnete ich Chrom Entwickler-Tools auf, eine Punktzahl in der Tabelle und rechtsklicken gefunden Kopieren Xpath und dann nur das direkt im Code verwendet, aber immer noch nichts
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
Mache ich etwas falsch? Oder ist die Website so strukturiert, dass eine einfache Lösung wie die oben beschriebene nicht funktioniert?
Regel # 1: Verlassen Sie sich nicht auf die Ausgabe des Browsers oder eines in einen Browser eingebetteten Tools, um den Selektor oder sogar das Layout des HTML zu finden. Browser versauen sich mit dem HTML. Stattdessen benutze 'wget',' curl' oder 'nokogiri' in der Befehlszeile und sieh es dir an, um genau zu sehen, was Nokogiri sieht. Die Quoten sind sehr gut, es gibt DHTML beteiligt, also was Sie wollen, ist nicht in der Seite, bis der JavaScript-Interpreter es lädt. –