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

使用R语言爬取SCIELO文章参考文献链接的技术问题

解决方案

你的代码存在两个核心问题:

  • 没有限定只抓取参考文献区域的链接,而是获取了页面所有<a>标签
  • 提取的是标签显示文本而非链接的href属性

以下是修正后的代码:

library(rvest)
library(dplyr)

# 目标页面链接
link <- "https://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S2448-76782022000100004&lang=es"
page <- read_html(link)

# 抓取参考文献区域的所有链接,拼接完整URL
ref_links <- page %>%
  # 定位到参考文献段落内的a标签(页面中每条参考文献都在class为ref的p标签容器里)
  html_nodes("p.ref a") %>%
  # 提取链接的href属性(即实际地址)
  html_attr("href") %>%
  # 将相对路径拼接为完整可访问的URL
  paste0("https://www.scielo.org.mx", .)

# 验证结果(应返回68条链接)
length(ref_links)
head(ref_links)

关键说明:

  1. 精准定位元素:p.ref a 选择器只锁定参考文献段落内的链接,避免抓取页面导航、侧边栏等无关链接
  2. 提取正确属性:用html_attr("href")替代html_text(),获取链接的实际地址而非显示的文献标题文本
  3. 补全URL路径:页面内的参考文献链接是相对路径,必须拼接网站域名才能形成可直接访问的完整链接

内容的提问来源于stack exchange,提问作者Armando González Díaz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:56:29