我正在抓取一个网站urls http://example.com/post/X
, 在哪里X是从1:5000开始的数字我可以使用刮擦rvest
使用此代码:
website <- html("http://www.example.com/post/1")
Name <- website%>%
html_node("body > div > div.row-fluid > div > div.DrFullDetails > div.MainDetails > div.Description > h1") %>%
html_text()
Speciality <- website %>%
html_node("body > div > div.row-fluid > div > div.DrFullDetails > div.MainDetails > div.Description > p.JobTitle") %>%
html_text()
我需要代码从网站抓取所有页面,并将抓取的数据放入表中,每个页面都放在一个新行中。
请帮忙
我会将您用于抓取单个页面的代码包装在lapply
,然后使用rbindlist
来自data.table
包以合并每个页面的信息。
如果没有实际的例子,这很难测试,但可以尝试这样的事情:
library(rvest)
library(data.table)
scrapeDomain <- function(baseURL="http://www.domain.com/post", index=1:10) {
scrape1 <- lapply(index, function(n) {
website <- paste(baseURL, n, sep="/") %>%
html()
name <- website %>%
html_node("body > div > div.row-fluid > div > div.DrFullDetails > div.MainDetails > div.Description > h1") %>%
html_text()
speciality <- website %>%
html_node("body > div > div.row-fluid > div > div.DrFullDetails > div.MainDetails > div.Description > p.JobTitle") %>%
html_text()
data.table(website=website, name=name, specialty=specialty)
} )
rbindlist(scrape1)
}
scrapeDomain()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)