使用rvest包html_nodes函数时出现找不到xpath_combinedselector函数错误
解决rvest中
xpath_combinedselector()找不到的错误 你遇到的错误信息如下:
Error in xpath_combinedselector(): could not find function "xpath_combinedselector"
调用栈信息为:url %>% read_html() %>% html_nodes("#REVIEWS .innerBubble")...
这个问题本质是rvest包版本过旧导致的——xpath_combinedselector()是rvest较新版本里的内部辅助函数,老版本的包并没有这个实现。我之前处理过类似的问题,给你几个具体的解决步骤:
1. 更新rvest包
首先要把rvest更新到最新稳定版,在R控制台运行:
install.packages("rvest")
如果你想尝试包含最新修复的开发版,可以先安装devtools工具包,再安装GitHub上的rvest最新版本:
install.packages("devtools") devtools::install_github("tidyverse/rvest")
2. 验证更新后的版本
更新完成后,重新加载包并检查版本,确保版本在1.0.0及以上(这个函数大概是在1.0.0版本左右引入的):
library(rvest) packageVersion("rvest")
3. 重新运行你的代码
确认版本更新后,再执行你原来的爬取代码:
library(rvest) url <- "http://www.tripadvisor.com/Hotel_Review-g37209-d1762915-Reviews-JW_Marriott_Indianapolis-Indianapolis_Indiana.html" reviews <- url %>% read_html() %>% html_nodes("#REVIEWS .innerBubble")
另外补充一点:TripAdvisor的页面结构偶尔会进行调整,如果之后还是无法抓取到评论内容,可能需要用浏览器的开发者工具重新检查页面的CSS选择器,但当前这个错误的核心肯定是版本问题,更新后就能解决。
内容的提问来源于stack exchange,提问作者BadAtCoding
相关产品推荐
相关产品推荐

