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

How to define XPATH value as a variable inside html_nodes in rvest in R

在使用 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

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

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