如何用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
相关产品推荐
相关产品推荐

