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

如何用R语言的rvest包提取HTML标签的innerHTML而非outerHTML?

在R中提取HTML标签的innerHTML(不带外层标签的内容)

当用rvest包的as.character()处理选中的HTML标签时,会返回包含外层标签的outerHTML,无法直接得到仅包含标签内部内容的innerHTML。以下是可行的解决方法:

方法:使用xml2::xml_contents()提取内部内容

xml_contents()可以获取目标标签下的所有子节点(包括纯文本和嵌套的HTML标签),完全不包含外层标签,之后只需将节点内容拼接成完整字符串即可:

library(rvest)
html = '<html><body>Hi <b>name</b></body></html>'

# 提取body标签的innerHTML
inner_html <- read_html(html) |>
  html_element('body') |>
  xml2::xml_contents() |>
  as.character() |>
  paste(collapse = "")

# 输出结果
inner_html

运行后返回:

[1] "Hi <b>name</b>"

这个方案能精准保留内部的所有HTML结构和文本,完全符合提取innerHTML的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:31:06