Rvest html_nodes跨越div和Xpath

时间:2018-02-06 00:35:58

标签: r xpath rvest

我试图通过阅读XPath代码来抓取网站。 当我进入开发人员部分时,我看到了这些行:

<span class="js-bestRate-show" data-crid="11232895" data-id="928723" data-abc="0602524361510" data-referecenceta="44205406" data-catalog="1">

我想抓取data-abc的所有值。 假设网站上的每个元素都是一部电影,所以我想为每一部电影拍摄所有数据abc元素。

我想使用Rvest包和R. 以下是两种不起作用的尝试......

website %>% html_nodes("js-bestRate-show") %>% html_text()

website %>%
  html_nodes(xpath = "js-bestRate-show") %>%
  html_nodes(xpath = "//div") %>%
  html_nodes(xpath = "//span") %>%
  html_nodes(xpath = "//data-abc")

任何人都知道html_nodes和Rvest是如何工作的?

1 个答案:

答案 0 :(得分:0)

节点为span,类别为js-bestRate-show。其他一切都是属性。所以你需要这样的东西:

library(rvest)
h <- '<span class="js-bestRate-show" data-crid="11232895" data-id="928723" data-abc="0602524361510" data-referecenceta="44205406" data-catalog="1">'

h %>% 
  read_html() %>% 
  html_nodes("span.js-bestRate-show") %>% 
  html_attr("data-abc")