R: rvest - 共享计数器,xpath

R: rvest - share counter, xpath

我正在尝试使用 Rvest 抓取数据。我无法从 link 的共享柜台上刮下 number/text:“753 udostępnienia”。

我使用 Google Chrome 插件 XPath helper 来查找 Xpath。我准备了一个简单的R代码:

library(rvest)
url2<- "https://www.siepomaga.pl/kacper-szlyk"
share_url<-html(url2)
share_url
share <- share_url %>%
 html_node(xpath ="/html[@class='turbolinks-progress-bar']/body/div[@id='page']/div[@class='causes-show']/div[@class='ui container']/div[@id='column-container']/div[@id='right-column']/div[@class='ui sticky']/div[@class='box with-padding']/div[@class='bordered-box share-box']/div[@class='content']/div[@class='ui grid two columns']/div[@class='share-counter']") %>% 
  html_text()
share

但是结果等于 NA。 我哪里错了?

我想出了一个解决方案,使用 rvest,而不是 xpath = 方法。这也使用 dplyr 包中的管道运算符来简化事情:

library(tidyverse) # Contains the dplyr package
library(rvest)

siep_url <- "https://www.siepomaga.pl/kacper-szlyk"

counter <- siep_url %>%
  read_html() %>%
  html_node(".share-counter") %>%  # The node comes from https://selectorgadget.com/, a useful selector tool
  html_text()

输出结果如下:

[1] "\n\n755\nudostępnień\n"

您可以使用 gsub():

清理它
counter <- gsub("\n\n755\nudostępnień\n", "755 udostępnień", counter)

这个returns755 udostępnień,作为一个字符。希望这可以帮助。


免责声明:相当大的语言障碍,但 translate.google.com 创造了奇迹。