如何使用R语言rvest库抓取指定标签间的文本内容?
用rvest精准提取指定结构的文本内容
当然可以直接定位到目标标签提取内容,你之前的代码选的标签不对(比如html_nodes("title")是选页面的<title>标签,不是class为title的div),用CSS选择器就能精准定位到<div class="title">下的<a>标签,直接提取里面的文本。
正确代码示例
# 加载所需库(去掉重复的rvest) library(rvest) library(httr) library(XML) # 获取页面内容 url <- "https://www.mywebsite.com" page <- read_html(url) # 精准定位目标标签:class为title的div下的a标签 target_elements <- page %>% html_nodes(".title a") # 提取文本,trimws()可以去掉多余的空格和换行 target_text <- target_elements %>% html_text() %>% trimws() # 查看结果 print(target_text)
选择器说明
.title:匹配所有class属性为title的元素(也就是你的<div class="title">).title a:匹配class为title的元素下的所有<a>子元素,正好对应你要抓取的文本所在的标签。
如果你的目标文本所在的<a>是<div class="title">的直接子元素,也可以用更严格的选择器.title > a,不过一般.title a就足够用了。
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

