R语言爬取Letterboxd页面时html_nodes返回空对象如何解决
问题解决方法
你代码的核心错误是提取节点时调用了错误的对象:
你已经将请求返回的页面内容解析为html对象并存入page变量,但后续执行html_nodes操作时错误传入了原始的URL字符串link,html_nodes无法直接对URL字符串做DOM节点解析,因此会返回空结果。
修正后的代码如下:
library(rvest) library(httr) link <- "https://letterboxd.com/alexissrey/activity/" page <- link %>% GET(config = httr::config(ssl_verifypeer = FALSE)) %>% read_html # 替换原代码中的link为解析完成的page对象 names <- page %>% html_nodes(".prettify > a") %>% html_text()
如果替换后仍返回空结果,可按以下方向排查:
- 确认未登录状态下请求目标站点返回的页面结构是否和浏览器端一致,部分站点反爬策略会对未登录请求返回简化结构,导致
.prettify类不存在 - 通过浏览器开发者工具重新定位当前页面电影标题对应的CSS选择器,确认站点是否更新了页面结构导致原选择器失效
内容的提问来源于stack exchange,提问作者Alejo Estavillo
相关产品推荐
相关产品推荐

