我正在关注昨天的问题 - harvesting data via drop down list in R 1
首先,我需要从此页面获取所有医生的所有50k字符串细节:http://www.lkcr.cz/seznam-lekaru-426.html#seznam 我知道,如何从一个页面获取它们:
oborID<-"48"
okresID<-"3702"
web<- "http://www.lkcr.cz/seznam-lekaru-426.html"
extractHTML<-function(oborID,okresID){
query<-list('filterObor'="107",'filterOkresId'="3201",'do[findLekar]'=1)
query$filterObor<-oborID
query$filterOkresId<-okresID
html<- POST(url=web,body=query)
html<- content(html, "text")
html
}
IDfromHTML<-function(html){
starting<- unlist(gregexpr("filterId", html))
ending<- unlist(gregexpr("DETAIL", html))
starting<- starting[seq(2,length(starting),2)]
if (starting != -1 && ending != -1){
strings<-c()
for (i in 1:length(starting)) {
strings[i]<-substr(html,starting[i]+9,ending[i]-18)
}
strings<-list(strings)
strings
}
}
仍然,我知道只下载几行文本整个页面是非常无效的(但是有效!:)你能给我一个提示如何使这个过程更有效吗?
我还遇到了一些列出超过20名医生的网页(即“Brno-město”和“chirurgie”的组合。这些数据通过表格末尾的超链接列表列出和访问。我需要访问每个这些页面中使用了我在这里提供的代码。但我想我必须在那里传递一些cookie。
除此之外,“Praha”和“chirurgie”的组合也存在问题,因为有超过200条记录,因此页面应用了一些脚本然后我需要点击“další”按钮并使用相同的方法如上一段所述。
你能帮帮我吗?