Сбор данных с веб-страницы в R - доступ к нескольким страницам

Я следую за своим вопросом со вчерашнего дня - собираю данные через выпадающий список в R 1

Во-первых, мне нужно получить все 50 тыс. строк данных всех врачей на этой странице: http://www.lkcr.cz/seznam-lekaru-426.html Я знаю, как получить их на одной странице:

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". Такие данные перечислены и доступны через список гиперссылок в конце формы. Мне нужно получить доступ к каждой из этих страниц и используйте там код, который я представил здесь. Но я думаю, что я должен передать туда некоторые куки.

Помимо этого, комбинация "Praha" и "chirurgie" также проблематична, потому что существует более 200 записей, поэтому страница применяет некоторый сценарий, а затем мне нужно нажать кнопку "další" и использовать тот же метод, что и в предыдущий абзац.

Не могли бы вы мне помочь?

0 ответов

Другие вопросы по тегам