如何使用rvest从R中的网页中刮取字符串

如何使用rvest从R中的网页中刮取字符串,r,rvest,R,Rvest,我有一个包含602个URL的向量,其开头如下: links由于要提取的数字是页面上唯一的4位数字,我们可以读取HTML的内容并提取4位数字 library(rvest) sapply(links, function(x) x %>% read_html %>% html_text %>% stringr::str_extract("\\d{4}")) 你如何确定这是你想要的一年?这是这一页上唯一的4位数字吗?是的,没错。这是我唯一能识别它的方法。你能试试sa

我有一个包含602个URL的向量,其开头如下:


links由于要提取的数字是页面上唯一的4位数字,我们可以读取HTML的内容并提取4位数字

library(rvest)

sapply(links, function(x) 
       x %>% read_html %>% html_text %>% stringr::str_extract("\\d{4}"))

你如何确定这是你想要的一年?这是这一页上唯一的4位数字吗?是的,没错。这是我唯一能识别它的方法。你能试试
sapply(链接,函数(x)x%>%read\u html%>%html\u text%>%str\u extract(\\d{4}”)
?嘿,Ronak,再次感谢你回答我的问题。还有一个问题:如果有多个匹配项,我如何为每个html只选择第一个匹配项?我认为
str\u extract
只返回第一个匹配项。你有多重匹配吗?我也是这么想的。只有少数几个网站有多个匹配项-我想这是因为在一些网站的底部有版权声明。你能试试
x%>%read\u html%>%html\u text%>%.[1]]%>%stringr::str\u extract(\\d{4}”)
看看这是否解决了问题。