使用rvest抓取div和span标记内的文本

2vuwiymt  于 2023-03-15  发布在  其他
关注(0)|答案(1)|浏览(163)

我正在尝试从网站中查找特定的文本位。该文本位于class = value-highlight的div标记下,但同一标记内还包含span标记。该文本位于div标记内,但不在span标记内。我已能够提取span标记中包含的文本,但无法找到提取所查找文本的方法。
html是这样设置的:

<div class="value-highlight"> 
The text I want
   <span class="vals">The text I don't want
</span>
</div>

这是我试过的代码

html <- read_html(TESTURL)

val <- html %>% html_nodes('.value-highlight') %>% html_text()

它只返回我不想要的文本

8yoxcaq7

8yoxcaq71#

您可以使用XPath和text()函数来完成此操作:

library(rvest)
html <- r"(<div class="value-highlight"> 
The text I want
   <span class="vals">The text I don't want
</span>
</div>)"

minimal_html(html) |> 
  html_elements(xpath = "//div[@class='value-highlight']/text()") |> 
  html_text2()
#> [1] "The text I want" ""

创建于2023年3月14日,使用reprex v2.0.2

相关问题