2013-04-24 60 views
1

我想webscrape以下網站:Webscraping問題涉及點擊(使用R)

http://www.healthgrades.com/hospital-directory/california-ca-san-mateo/affiliated-physicians-HGSTED418D46050070

我使用R鍵webscrape的網站。特別是,我試圖從本網站複製所有醫生的姓名和專業。然而,我正在處理的主要問題是,當我按下箭頭/下一個按鈕時,url鏈接不會改變。我無法使用任何基本技術來webscrape此頁面。我怎麼解決這個問題?將所收集的所有數據收集到一個數據矩陣/電子表格中將會很好。

+0

它是'POST'形式,還是它是一些Javascript/AJAX巫術? – 2013-04-24 02:37:49

+0

我不是特別確定它是否是郵政形式。我對這個術語不熟悉。檢查鏈接找出。 – mtber75 2013-04-24 03:00:35

回答

2

看起來他們正在使用的變量

?pagenumber=x 

你也許可以遍歷x,讓您的數據。


在一個側面說明,

我不知道你正在使用的瀏覽器,而Chrome有一個方便的功能,您可以用鼠標右鍵點擊一個按鈕,並選擇inspect element

3
dum <- "http://www.healthgrades.com/hospital-directory/california-ca-san-mateo/affiliated-physicians-HGSTED418D46050070" 
library(XML) 
ddum <- htmlParse(dum) 
noofpages <- xpathSApply(ddum,'//*/span[@class="paginationItem active"]/following-sibling::*[1]',xmlValue)[1] 
noofpages <- (as.numeric(gsub(' of ','',noofpages))-1)%/%5+1 
doctors <- c(); dspec <- c() 
for(i in 1:noofpages){ 
if(i>1){ 
    ddum <- htmlParse(paste0(dum,"?pagenumber=",i,'#')) 
} 
doctors <- c(doctors, xpathSApply(ddum,'//*/a[@class="providerSearchResultSelectAction"]',xmlValue)) 
dspec <- c(dspec, xpathSApply(ddum,'//*/div[@class="listingHeaderLeftColumn"]/p',xmlValue)) 
} 

paste(doctors,dspec,sep=',') 
# [1] "Dr. Julia Adamian, MD,Internal Medicine"        
# [2] "Dr. Eric R. Adler, MD,Internal Medicine"        
# [3] "Dr. Ramzi S. Alami, MD,General Surgery"         
# [4] "Dr. Jason L. Anderson, MD,Internal Medicine"       
# [5] "Dr. Karl A. Anderson, MD,Urology"          
# [6] "Dr. Christine E. Angeles, MD,Geriatric Medicine, Pulmonology"   
+0

+1努力和時間!做得好 – 2013-04-24 05:06:48