我是网络抓取新手。 我正在使用 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)")
要获取所有不包含任何
<p>
标签的 <a>
标签,您可以使用 xpath 表达式:
html_elements(html, xpath = "//article/div/p[not(descendant::a)]")
#> {xml_nodeset (13)}
#> [1] <p>GENF. <strong>„Schämt Euch!“ – so heißt es auf einem Transparent, das ...
#> [2] <p><script charset="utf-8" async consent-original-src-_="https://platfor ...
#> [3] <p>Es ist fast schon dreist, wie Deutschland auf die offizielle Staatenp ...
#> [4] <p>Auch in einer gemeinsamen Stellungnahme von einem Bündnis deutscher N ...
#> [5] <p>„In keinem Bildungsbereich – von der Kita über Schule, Ausbildung und ...
#> [6] <p>Die Ausführungen der Bundesregierung im Staatenbericht, so heißt es w ...
#> [7] <p>Sonderpädagoginnen und -pädagogen würden immer noch weitestgehend für ...
#> [8] <p>Die Einführung inklusiver Bildung in Regelschulen sei von erheblichem ...
#> [9] <p><script charset="utf-8" async consent-original-src-_="https://platfor ...
#> [10] <p><script charset="utf-8" async consent-original-src-_="https://platfor ...
#> [11] <p>Der Rechtsanspruch auf inklusive Schulbildung sei in den meisten Bund ...
#> [12] <p><iframe class="wp-embedded-content" sandbox="allow-scripts" security= ...
#> [13] <p> </p>
创建于 2023-09-21,使用 reprex v2.0.2
您可以选择所有
<p>
标签,然后在 R 中过滤它们(如果它们有任何 <a>
标签)。例如
html |>
html_elements("article") |>
html_elements("p") |>
Filter(function(x) {
length(html_element(x, "a"))<1
}, x=_)