You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言数据爬取:CSS元素选取失败,无法获取作者介绍链接求解决

问题解决:作者介绍链接爬取错误修正

错误原因分析

  1. CSS选择器错误:你用的.a是查找类名为a的元素,但实际作者介绍链接是<a>标签(标签名是a,不是类),选择器指向逻辑完全错误。
  2. html_attr用法错误:该函数的参数是属性名称(如"href"),而非属性值。你错误地将属性值"/author/Albert-Einstein"作为参数传入,同时出现引号嵌套语法错误。
  3. 引号语法错误: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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 15:17:05