R语言数据爬取:CSS元素选取失败,无法获取作者介绍链接求解决
问题解决:作者介绍链接爬取错误修正
错误原因分析
- CSS选择器错误:你用的
.a是查找类名为a的元素,但实际作者介绍链接是<a>标签(标签名是a,不是类),选择器指向逻辑完全错误。 html_attr用法错误:该函数的参数是属性名称(如"href"),而非属性值。你错误地将属性值"/author/Albert-Einstein"作为参数传入,同时出现引号嵌套语法错误。- 引号语法错误:
html_attr(".href="/author/Albert-Einstein"")的引号嵌套逻辑混乱,导致R解析代码时报错。
修正后的代码
# Libraries library(rvest) library(dplyr) # Page grab link <- "https://quotes.toscrape.com/" page <- read_html(link) # Variables name <- page |> html_elements(".text") |> html_text2() author <- page |> html_elements(".author") |> html_text2() # 正确获取作者介绍链接 about_links <- page |> html_elements(".quote .author + a") |> # 精准定位每个quote中作者对应的about链接 html_attr("href") # 提取href属性值 # 可选:将相对链接转为完整URL full_about_links <- url_absolute(about_links, link) list(about_links, full_about_links)
关键说明
.quote .author + a:通过层级选择器,确保只抓取每个quote块里,作者名称元素(.author)紧随其后的<a>标签,避免误抓其他无关链接。html_attr("href"):正确提取<a>标签的href属性值,得到相对路径;如果需要完整访问URL,用url_absolute()拼接基础链接即可。
内容的提问来源于stack exchange,提问作者Bogz
相关产品推荐
相关产品推荐

