Wygląda na to, że witryna blokuje bezpośredni dostęp do Curl.Pobieranie danych z Live Olympic Medal do R
library(XML)
library(RCurl)
theurl <- "http://www.london2012.com/medals/medal-count/"
page <- getURL(theurl)
page # fail
[1] "<HTML><HEAD>\n<TITLE>Access Denied</TITLE>\n</HEAD><BODY>\n<H1>Access Denied</H1>\n \nYou don't have permission to access \"http://www.london2012.com/medals/medal-count/\" on this server.<P>\nReference #18.358a503f.1343590091.c056ae2\n</BODY>\n</HTML>\n"
Spróbujmy sprawdzić, czy możemy uzyskać do niego bezpośredni dostęp z tabeli.
page <- readHTMLTable(theurl)
Nie istnieje Error in htmlParse(doc) : error in creating parser for http://www.london2012.com/medals/medal-count/
Jak byś go o coraz to stół do badań szczęście?
Aktualizacja: w odpowiedzi na komentarze i błądzenie, fałszowanie łańcucha agenta użytkownika zadziałało, aby uzyskać zawartość. Ale readHTMLtable zwraca błąd.
page <- getURLContent(theurl, useragent="Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20120716 Firefox/15.0a2")
Lynx, wydaje się być blokowane, jak również. –
Po załadowaniu strony w przeglądarce Firefox wyświetl źródło i zapisz na dysku? –
W getURL możesz podać fałszywy ciąg agenta użytkownika, który pracował nad uzyskaniem danych. Ale readHTMLTable nadal nie ładnie się ładuje. Zwraca błąd ("Błąd w nazwach (ans) = nagłówek: atrybut 'names' [13] musi być tej samej długości co wektor [7]') nie do końca pewny, jak to debugować. –