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

如何用R获取Google Scholar需点击展开的文献引用格式?

获取Google Scholar文献引用格式的R实现方法

你已经能通过R搜索Google Scholar文献,要获取点击弹窗才显示的引用格式,可按以下步骤实现:

核心逻辑说明

Google Scholar的引用格式实际存储在独立的引用页面中,而非主搜索页面的弹窗里。我们需要先定位目标文献的引用页面链接,再抓取该页面的引用内容。

完整代码实现

# 加载所需包
library(rvest)
library(dplyr)

# 构造Google Scholar搜索URL
getGoogleURL <- function(search.term, domain = '.com', quotes=FALSE) {
  search.term <- URLencode(search.term)
  if(quotes) search.term <- paste0('%22', search.term, '%22')
  paste0('https://scholar.google.com/scholar?hl=es&as_sdt=0%2C5&q=', search.term)
}

# 生成目标文献的搜索URL
google.url <- getGoogleURL("GARZA, Sergio Francisco de la, Derecho financiero mexicano, México, Porrúa, 2002.")

# 读取搜索结果页面
search_doc <- read_html(google.url)

# 提取第一个文献的引用页面完整链接
cite_page_url <- search_doc %>% 
  html_element(".gs_or_cit") %>% 
  html_attr("href") %>% 
  paste0("https://scholar.google.com", .)

# 读取引用页面并抓取所有引用格式
cite_content <- read_html(cite_page_url) %>% 
  html_elements(".gs_citr") %>% 
  html_text()

# 输出所有引用格式
print(cite_content)

代码细节解释

  • 替换原有的XML和RCurl包为rvest:rvest是更直观的现代网页抓取工具,与dplyr兼容度更高
  • 使用URLencode函数处理搜索词:比手动替换空格更可靠,能自动处理所有特殊字符的URL编码
  • .gs_or_cit是Google Scholar中「引用」按钮的元素类名,通过它获取跳转至引用页面的链接
  • .gs_citr是引用页面中各类引用格式(APA、MLA、Chicago等)的文本容器类名,提取后即可得到所有格式的引用文本
  • 如果搜索结果包含多篇文献,可将html_element改为html_elements,再通过索引(如[[1]])选择目标文献的引用链接

内容的提问来源于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.13 06:50:28