2016-05-05 12 views
0

Ich versuche, R automatisch eine CSV-Datei von FanGraphs in ein lokales Verzeichnis herunterladen zu lassen. Um dies manuell zu tun, muss ich auf den Link "Daten exportieren" klicken, wobei JavaScript für mich aufgerufen wird, um die .csv-Datei herunterzuladen. Ich habe vorher Rvest verwendet, aber ich bin nicht sicher, wie ich diese Aufgabe erledigen soll. Die .csv-Datei ist sehr ordentlich, sobald sie manuell heruntergeladen wurde. HierR: Herunterladen einer .csv von einer Website

ist der Link:

url <- "http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=y&type=8&season=2016&month=0&season1=2016&ind=0" 

Hier ist der Link zum Download:

href="javascript:__doPostBack('LeaderBoard1$cmdCSV','')" 

ich ratlos bin und jede mögliche Hilfe schätzen würde! Vielen Dank im Voraus.

Antwort

2

Um Daten aus einer HTTP-Quelle in R zu laden, verwenden:

con <- url("http://www.ic.unicamp.br/~zanoni/cepagri/cepagri.csv") 
cpa <- read.csv(con) 

ich Ihre URL versucht, aber ich bekam einen 404 Not Found:

u <- "http://www.fangraphs.com/leaders.aspxpos=all&stats=bat&lg=all&qual=y&type=15&season=2016&month=0&season1=2016&ind=0&team=0&rost=0&age=0&filter=&players=0" 

con <- url(u) 
cpa <- read.csv(con) 


Error in open.connection(file, "rt") : cannot open the connection 
In addition: Warning message: 
In open.connection(file, "rt") : 
    cannot open URL  'http://www.fangraphs.com/leaders.aspxpos=all&stats=bat&lg=all&qual=y&type=15&season=2016&month=0&season1=2016&ind=0&team=0&rost=0&age=0&filter=&players=0': HTTP status was '404 Not Found' 
+0

zu importieren. Der Link ist eine HTML-Seite mit vielen Daten darauf, aber nicht für das direkte Lesen in .csv-Format formatiert . Wenn Sie auf den Link "Daten exportieren" klicken, wird Javascript ausgeführt, um eine CSV-Datei zum Herunterladen zu erstellen. Wenn ich meinen Cursor über den Link "Daten exportieren" setze, ist der Link "href =" javascript: __ doPostBack ('LeaderBoard1 $ cmdCSV', '') "' – IRNotSmart

+1

Dies ist ein Java Script Aufruf um etwas zu verarbeiten, am Ende, Es gibt eine URL, die aufgerufen wird. Wenn Sie Google Chrome verwenden, öffnen Sie den Entwickler, inspizieren Sie und überprüfen Sie die Registerkarte Netzwerk und versuchen Sie herauszufinden, wie die URL von dieser Methode aufgerufen wird. – Sigrist

0

Wenn Sie Linux verwenden, können Sie Verwenden Sie auch wget, um die Datei herunterzuladen und in R

$wget "www.yourURL.com" 
Verwandte Themen