rvest:如何找到所需的 css-选择器
rvest: how to find required css-selector
我正在尝试使用 rvest
包 抓取 在议会中举行的演讲的部分内容。
使用 css 选择器或 chrome 的检查器工具为我提供了一个选择器,但我无法检索预期的(任何)数据。据我所知,该站点也不是基于 java 等的,即不需要 RSelenium 等。
这里是 link:
library(tidyverse)
library(rvest)
library(xml2)
session_1 <- "https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html"
x <- session_1 %>%
rvest::read_html() %>%
rvest::html_element("wordsection14") %>%
rvest::html_text()
最终,我希望能够使用 class 'wordsection*'.
获取所有元素中包含的文本
如有任何提示,将不胜感激。非常感谢。
tl;dr 问题不在于 css 选择器。这是编码。指定编码 = 'latin1'
read_html('https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html', encoding = "latin1") %>%
html_nodes('[class^=WordSection]') %>%
html_text() %>%
length()
卷曲:
您也可以使用 curl。
library(rvest)
library(curl)
text_info <- curl_fetch_memory("https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html") %>%
{rawToChar(.$content)} %>%
.[[1]] %>%
read_html() %>%
html_nodes("[class^=WordSection]") %>%
html_text()
CSS 选择器:
如果您使用以运算符 ^ 开头的 css 属性 = 值选择器来获取所有具有 class 值且以 WordSection
开头的节点。
鉴于有很多嵌套以避免重复 material 你可以决定使用 nth-child range selectors or other css selector combinations 来限制匹配列表。
编写一些自定义函数来管理字符串清理。
如果您愿意,当然可以使用不同的 css 选择器。
我正在尝试使用 rvest
包 抓取 在议会中举行的演讲的部分内容。
使用 css 选择器或 chrome 的检查器工具为我提供了一个选择器,但我无法检索预期的(任何)数据。据我所知,该站点也不是基于 java 等的,即不需要 RSelenium 等。
这里是 link:
library(tidyverse)
library(rvest)
library(xml2)
session_1 <- "https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html"
x <- session_1 %>%
rvest::read_html() %>%
rvest::html_element("wordsection14") %>%
rvest::html_text()
最终,我希望能够使用 class 'wordsection*'.
获取所有元素中包含的文本如有任何提示,将不胜感激。非常感谢。
tl;dr 问题不在于 css 选择器。这是编码。指定编码 = 'latin1'
read_html('https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html', encoding = "latin1") %>%
html_nodes('[class^=WordSection]') %>%
html_text() %>%
length()
卷曲:
您也可以使用 curl。
library(rvest)
library(curl)
text_info <- curl_fetch_memory("https://www.parlament.gv.at/PAKT/VHG/XXVII/NRSITZ/NRSITZ_00001/fnameorig_796482.html") %>%
{rawToChar(.$content)} %>%
.[[1]] %>%
read_html() %>%
html_nodes("[class^=WordSection]") %>%
html_text()
CSS 选择器:
如果您使用以运算符 ^ 开头的 css 属性 = 值选择器来获取所有具有 class 值且以 WordSection
开头的节点。
鉴于有很多嵌套以避免重复 material 你可以决定使用 nth-child range selectors or other css selector combinations 来限制匹配列表。
编写一些自定义函数来管理字符串清理。
如果您愿意,当然可以使用不同的 css 选择器。