我是新的网页抓取。我正在使用R中的rvest包来抓取网页内容,我想选择段落(
)不包含链接()。
到目前为止,我还没有成功地使用这种方法:
html <- read_html("https://www.news4teachers.de/2023/08/schaemt-euch-deutschland-steht-vor-den-vereinten-nationen-am-pranger-weil-es-die-inklusion-an-schulen-verweigert/")
html |>
html_elements("article") |>
html_elements("p") |>
html_elements(":not(a)")
3条答案
按热度按时间5f0d552i1#
要获取所有不包含任何
<a>
标记的<p>
标记,可以使用xpath表达式:创建于2023-09-21使用reprex v2.0.2
oxf4rvwz2#
您可以选择所有
<p>
标记,然后在R中过滤它们,如果它们有任何<a>
标记。例如gudnpqoy3#
不幸的是,
rvest
用来解析css选择器的selectr
/cssselect
似乎不支持伪类:has()
。否则,类似这样的东西会起作用:我们可以通过将
xml_nodelist
转换为character
和stringr::str_detect()
来解决这个问题,其中<p>
元素中有<a>
。然后我们将xml_nodelist
子集化,只包含那些没有link/<a>
的。