0

我正在关注昨天的问题 -通过 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ší”按钮并使用与上一段。

你能帮我吗?

4

0 回答 0