使用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
答案 0 :(得分:4)
html_nodes
有三个参数:文档,css选择器和xpath选择器。通过在%>%
链中使用它,您将使用文档填充第一个参数,但是您正在设置第二个参数,即css选择器(这就是错误消息与CSS相关的原因),而不是xpath选择。您应该使用命名参数来解决此问题
name <- lego %>%
html_nodes(xpath=xpath) %>%
html_text()