如何将XPATH值定义为R中rvest中html_nodes中的变量

时间:2016-03-05 18:34:22

标签: r xpath rvest

使用R(rvest)进行网页报废时,我需要将XPATH值定义为html_nodes中的变量。这样我就可以迭代许多XPATH。当我在外部定义XPATH时,它会抛出错误(例如,当xpath = // * [@ id =“banner”]时出现错误)。能否请你帮忙。 我的代码:

xpath <- as.character('//*[@id="title-overview-widget"]')
      name <- lego %>% 
      html_nodes(xpath) %>%
      html_text()
Error Message : Error in tokenize(css) : Unexpected character '/' found at position 1

1 个答案:

答案 0 :(得分:4)

html_nodes有三个参数:文档,css选择器和xpath选择器。通过在%>%链中使用它,您将使用文档填充第一个参数,但是您正在设置第二个参数,即css选择器(这就是错误消息与CSS相关的原因),而不是xpath选择。您应该使用命名参数来解决此问题

name <- lego %>% 
      html_nodes(xpath=xpath) %>%
      html_text()