2016-05-23 2 views
3

Ich möchte eine Tabelle aus der citibike kratzen: https://s3.amazonaws.com/tripdata/index.htmlWie scrappe Javascript Tabelle in R?

Mein Ziel ist es auf einmal die URLs der Zip-Dateien zu bekommen, anstatt manuell alle Termine eingeben und zu jedem Zeitpunkt ein Download. Da die Webseite monatlich aktualisiert wird, möchte ich bei jeder Ausführung der Funktion alle aktuellen Datendateien abrufen können.

Ich habe zuerst versucht, Rvest und XML-Pakete zu verwenden und dann festgestellt, dass die Webseite sowohl die HTML und eine Tabelle enthält, die von einer JavaScript-Funktion generiert wird. Da war das Problem.

Ich freue mich über jede Hilfe und bitte lassen Sie mich wissen, wenn ich weitere Informationen zur Verfügung stellen könnte.

+0

Möglicherweise müssen Sie [RSelenium] (https://cran.r-project.org/web/packages/RSelenium/vignettes/RSelenium-basics.html) verwenden. – r2evans

Antwort

1

Wenn ich gehe zu https://s3.amazonaws.com/tripdata/ (nur die Wurzel, keine index.html) Ich bekomme eine einfache XML-Datei. Das relevante Element ist Key (Großbuchstabe K, Kleinbuchstabe e, y) wenn Sie das XML analysieren wollen, aber ich würde nur den einfachen Text suchen, das heißt: Ignoriere das XML, behandle es wie eine einfache Textdatei, erhalte jede Zeichenkette zwischen <Key> und </Key> behandeln Sie das als der Dateiname, der es ist, und Präfix https://s3.amazonaws.com/tripdata/, um es zu bekommen.

Der erste Eintrag ist alle zusammen (170 MB), wie es scheint, so dass Sie allein damit einverstanden sein könnten.