You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言使用rvest包html_text()仅抓取新闻首个段落如何解决

问题产生原因

  • 核心错误是使用了html_node()函数:该函数仅返回匹配CSS选择器的第一个节点对象,所以只能提取到#content下的第一个

    标签内容,后续所有正文段落都会被忽略。

  • 你提到的html_text()和html_text2()差异仅在于文本清洗规则,和多段落提取失败无关,目标页面为静态渲染,所有正文段落都包含在初始HTML源码中,无需处理动态加载问题。

代码调整方案

方案1:提取所有段落并保留排版

先获取所有正文段落节点,提取文本后用换行符拼接,可保留原有段落分隔:

library(rvest)
full_article <- read_html("https://ethiopianmonitor.com/2021/08/27/prime-minister-abiy-attends-g20-compact-with-africa-meeting/") %>%
    html_nodes("#content p") %>% # 改用html_nodes获取所有匹配的p标签节点
    html_text2() %>% # html_text2会自动清理多余空白、转义字符,提取效果更好
    paste(collapse = "\n\n") # 用双换行分隔不同段落,还原正文排版

方案2:直接提取整块正文内容

如果不需要单独处理每个段落,可直接选中整块正文容器提取文本:

library(rvest)
full_article <- read_html("https://ethiopianmonitor.com/2021/08/27/prime-minister-abiy-attends-g20-compact-with-africa-meeting/") %>%
    html_node("#content") %>% # 选中正文区域的父容器
    html_text2()

内容的提问来源于stack exchange,提问作者purple1437

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:12:04