"次へ"のURLを取得するにはrvest::follow_linkが便利
検索結果などpaginationされたページをクローリングする際、rvestパッケージのfollow_link()を使うと簡単に"次へ"のURLを取得できるのでメモしとく。
以下は10秒毎に"次の20件"のURLを取得するサンプル
某グルメサイトで実行した結果↓
> library(rvest) > > page <- 1 > sesh <- html_session('http://**********/tokyo/') > Sys.sleep(10) > repeat{ + sesh <- tryCatch(follow_link(sesh, "次の20件"), error=function(e)(return(NULL))) + message(Sys.time(), ' ', sesh$url) + page <- page + 1 + + # "次の20件"がない or 10回進んだらループを抜ける + if(is.null(sesh) || page == 10) break + + Sys.sleep(10) + } Navigating to http://**********/tokyo/rstLst/2/ 2015-11-11 08:33:40 http://**********/tokyo/rstLst/2/ Navigating to http://**********/tokyo/rstLst/3/ 2015-11-11 08:33:51 http://**********/tokyo/rstLst/3/ Navigating to http://**********/tokyo/rstLst/4/ 2015-11-11 08:34:02 http://**********/tokyo/rstLst/4/ Navigating to http://**********/tokyo/rstLst/5/ 2015-11-11 08:34:13 http://**********/tokyo/rstLst/5/ Navigating to http://**********/tokyo/rstLst/6/ 2015-11-11 08:34:23 http://**********/tokyo/rstLst/6/ Navigating to http://**********/tokyo/rstLst/7/ 2015-11-11 08:34:34 http://**********/tokyo/rstLst/7/ Navigating to http://**********/tokyo/rstLst/8/ 2015-11-11 08:34:44 http://**********/tokyo/rstLst/8/ Navigating to http://**********/tokyo/rstLst/9/ 2015-11-11 08:34:55 http://**********/tokyo/rstLst/9/ Navigating to http://**********/tokyo/rstLst/10/ 2015-11-11 08:35:05 http://**********/tokyo/rstLst/10/ >
- 某グルメサイト、Webからだと60ページまでしか見れないのか・・・