2012-11-06 20 views
5

Usiłuję (w R) zeskrobać trochę danych z:Skrobanie stron internetowych wymagające kliknięcia myszą?

http://www.soccerbase.com/matches/results.sd?date=2012-11-04

mianowicie chcę uzyskać szczegóły meczu, które pojawiają się na stronie po naciśnięciu przycisku i. Jednak informacje, które pojawiają się po kliknięciu przycisku, nie są zawarte w oryginalnym kodzie HTML. Wszystko, co mogę zobaczyć to linia (gdzie oczekuje się, że dane które mają być zawarte) ...

<span class="infoField"><a href="#" class="info finished" title="Show full match details"></a></span> 

... który dość dużo zostawia mnie w ślepy zaułek ... jakieś pomysły?

+1

powinieneś zacząć używać firebuga w Firefoksie lub narzędziach do Chrome'a. strona internetowa wysyła żądanie javascript do http://www.soccerbase.com/matches/additional_information.sd?id_game=652536 –

+2

powinieneś również zapoznać się z warunkami. – Spacedman

+0

@Spacedman W Stanach Zjednoczonych te warunki nie są prawnie wiążące. Zobacz np. http://www.forbes.com/sites/ericgoldman/2012/10/10/how-zappos-user-agreement-failed-in-court-and-left-zappos-legally-naked/ – hadley

Odpowiedz

4
require(XML) 
require(RCurl) 
dataurl<-'http://www.soccerbase.com/matches/results.sd?date=2012-11-04' 
sdata<-htmlParse(dataurl) 
sid<-xpathSApply(sdata,'//*/tr/@id') 
sid<-gsub('^tgc','',sid) 
mUrl<-paste0('http://www.soccerbase.com/matches/additional_information.sd?id_game=',sid) 

Powyższy kod uzyskałby wymagane adresy URL dla dodatkowych danych. Jednak sprawdziłbym na stronie pod kątem zebrania ich danych.

Powiązane problemy