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

R语言无需RSelenium如何爬取Wiley页面的稿件接收日期

解决方案

核心逻辑是直接请求Wiley加载出版历史的后端接口,无需模拟点击,比RSelenium轻量很多。

问题原因

直接请求DOI主页面拿不到数据,是因为出版历史属于异步加载内容,不会嵌入初始返回的HTML源码中,只有点击Information标签时,前端才会单独请求对应接口拉取数据。

实现代码

library(rvest)
library(httr)

# 定义目标DOI
target_doi <- "10.1002/jcc.26717"
# 拼接出版历史接口地址,规则为固定前缀 + DOI + 固定后缀
hist_url <- paste0("https://onlinelibrary.wiley.com/doi/full/", target_doi, "/publication-history")

# 请求接口并解析内容
page <- GET(hist_url) %>% read_html()
# 提取接收日期:模糊匹配包含接收标识的文本,避免固定索引因文章出版项数量不同失效
received_date <- page %>% 
  html_elements(".publication-history li") %>% 
  html_text() %>% 
  grep("Received|Manuscript Received", ., value = TRUE)

# 整理结果
wiley_output <- data.frame(
  doi = target_doi,
  manuscript_received_date = received_date,
  stringsAsFactors = FALSE
)

注意事项

  • 无需拼接#pane-pcw-details锚点,直接请求上述拼接的接口即可拿到完整出版历史数据
  • 不要用nth-child(5)固定索引取值,不同文章的出版历史条目数量、排序可能有差异,用关键词匹配的兼容性更强
  • 批量爬取时注意控制请求频率,避免触发反爬限制

内容的提问来源于stack exchange,提问作者Rom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:15:03