我有一个网站,想从中爬取数据,但是数据分为8页。我已经使用以下方法获取了第一页的数据:
library(rvest)
library(stringr)
library(tidyr)
site <- 'http://www.basketball-reference.com/play-index/draft_finder.cgi?request=1&year_min=2001&year_max=2014&college_id=0&pos_is_g=Y&pos_is_gf=Y&pos_is_f=Y&pos_is_fg=Y&pos_is_fc=Y&pos_is_c=Y&pos_is_cf=Y&order_by=year_id'
webpage <- read_html(site)
draft_table <- html_nodes(webpage, 'table')
draft <- html_table(draft_table)[[1]]
head(draft)
draft <- draft[-1,]
names(draft) <- c("rank", "year", "league", "round", "pick", "team", "player", "age", "position", "birth", "college",
"yearin", "lastyear", "car.gp", "car.mp", "car.ppg", "car.rebpg", "car.apg", "car.stlpg", "car.blkpg",
"car.fgp", "car.2pfgp", "car.3pfgp", "car.ftp", "car.ws", "car.ws48")
draft <- draft[draft$player != "" & draft$player != "Player", ]
似乎这些url是按顺序移动的,第一页的偏移量为0,第二页的偏移量为100,第三页的偏移量为200,以此类推。
我的问题是,我找不到一种简单直接的方法来一次性爬取所有8页内容,而不需要手动将url粘贴到上面的“site”向量中。我希望能够通用地解决这个问题,如果有通用的rvest解决方案,那就太好了。否则,任何帮助或建议都将不胜感激。非常感谢。
while
循环会比较合适?或者在URL中递增页面偏移量直到失败为止? - JasonAizkalns