如何在rvest中获取html_nodes对象并提取href属性?
解决rvest提取IMDB角色页面href的问题
IMDB页面结构已更新,原教程里的.cast_list .character选择器不再适用,用属性匹配的方式定位目标a标签更稳妥,具体步骤如下:
- 加载所需工具包
library(rvest) library(dplyr)
- 读取目标页面(以《复仇者联盟》演员表页面为例)
html <- read_html("https://www.imdb.com/title/tt1490017/fullcredits/")
- 提取目标href并拼接完整URL
# 定位所有包含/characters/的a标签,提取href并去重 character_links <- html %>% html_nodes("a[href*='/characters/']") %>% html_attr("href") %>% unique() # 拼接成完整IMDB链接 full_character_urls <- paste0("https://www.imdb.com", character_links)
补充说明
- 用
a[href*='/characters/']属性选择器,能精准定位所有角色详情页链接,不受页面class名称变更的影响 - 加入
unique()是为了过滤页面中重复出现的同角色链接
内容的提问来源于stack exchange,提问作者iHermes
相关产品推荐
相关产品推荐

