Html 使用rvest刮取多个URL
使用Html 使用rvest刮取多个URL,html,r,screen-scraping,rvest,Html,R,Screen Scraping,Rvest,使用rvest中的read_html时,如何刮取多个URL?目标是从各个URL获得一个由文本体组成的文档,在该文档上运行各种分析 我尝试连接URL: url <- c("https://www.vox.com/","https://www.cnn.com/") page <-read_html(url) page story <- page %>% html_nodes("p") %>% html_text
rvest
中的read_html
时,如何刮取多个URL?目标是从各个URL获得一个由文本体组成的文档,在该文档上运行各种分析
我尝试连接URL:
url <- c("https://www.vox.com/","https://www.cnn.com/")
page <-read_html(url)
page
story <- page %>%
html_nodes("p") %>%
html_text
这并不奇怪,因为
read_html
一次可能只处理一条路径。但是,我是否可以使用不同的函数或转换,以便同时刮取多个页面?您可以使用map
(或在base R:lappy
)循环遍历每个url
元素;这里有一个例子
url%html\u text())
str(第页)
#2人名单
#$:chr[1:22]“但他因面临两项最严重的指控而被无罪释放。”“卫生专家说,是时候为在世界各大洲的传播做好准备了。”“华尔街正在意识到冠状病毒的威胁,因为人们担心这种疾病及其潜在的全球经济。”约翰逊于周一去世,享年101岁。他在帮助宇航员安全返回地球方面做了开创性的工作。。。
#$:chr[1:19]“”“\n这位前电影大亨戴着手铐,从“27°C”。。。
返回对象是一个列表
另外,我更改了第二个
url
元素,因为“https://www.cnn.com/“
返回NULL
用于html\u节点(“p”)%%>%html\u text()
谢谢@Maurits Evers-这非常有用!map函数在运行“Purrr”后工作。但我在运行某些URL时也遇到问题。我得到:character(0)在各种URL上运行“html_节点”时。我想知道是否有选择器问题。我想知道如何设置html_节点以捕获所有选择器类并返回文本?@AnneBoysen这似乎是一个不同的问题,您可能希望在新帖子中提出。我建议通过在答案旁边设置绿色复选标记来结束此问题;然后用清晰的问题陈述打开一个新问题。很高兴看一看。
Error in doc_parse_file(con, encoding = encoding, as_html = as_html, options = options) :
Expecting a single string value: [type=character; extent=3].