gpt4 book ai didi

python - 如何使用 R 或 Python 通过 Google Scholar 查询下载学术论文的 PDF

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:39 24 4
gpt4 key购买 nike

我有一份需要下载的学术论文标题列表。我想写一个循环从网上下载他们的 PDF 文件,但找不到办法。

这是我到目前为止所想的逐步步骤(欢迎使用 R 或 Python 编写答案):

# Create list with paper titles (example with 4 papers from different journals)
titles <- c("Effect of interfacial properties on polymer–nanocrystal thermoelectric transport",
"Reducing social and environmental impacts of urban freight transport: A review of some major cities",
"Using Lorenz curves to assess public transport equity",
"Green infrastructure: The effects of urban rail transit on air quality")

#Loop step1 - Query paper title in Google Scholar to get URL of journal webpage containing the paper
#Loop step2 - Download the PDF from the journal webpage and save in your computer

for (i in titles){
journal_URL <- query i in google (scholar)
download.file (url = journal_URL, pattern = "pdf",
destfile=paste0(i,".pdf")
}

复杂化因素:

循环 step1 - Google Scholar 的第一个点击应该是论文的原始 URL。但是,我听说 Google 学术搜索对机器人有点挑剔,所以另一种方法是查询 Google 并获取第一个 URL(跳转它会带来正确的 URL)

循环第 2 步 - 有些论文是门控的,所以我想有必要包含身份验证信息(user=__,passwd=__)。但是,如果我使用的是我的大学网络,则此身份验证应该是自动的,对吗?

附言。我只需要下载PDF。我对获取文献计量信息(例如引文记录、h 指数)不感兴趣。对于获取文献计量数据,有一些指导 here (R users)here (python users) .

最佳答案

Crossref 有一个程序,出版商可以在其中提供文章全文链接的元数据。不幸的是,对于像 Wiley、Elsevier 和 Springer 这样的出版商,他们可能会提供链接,但您需要额外的权限才能实际检索内容。好玩吧?无论如何,一些工作,例如,这适用于你的第二个标题,搜索交叉引用,然后获取全文的 URL(如果提供),然后获取 xml(比 PDF 恕我直言更好)

titles <- c("Effect of interfacial properties on polymer–nanocrystal thermoelectric transport", "Reducing social and environmental impacts of urban freight transport: A review of some major cities", "Using Lorenz curves to assess public transport equity", "Green infrastructure: The effects of urban rail transit on air quality")

library("rcrossref")
out <- cr_search(titles[2])
doi <- sub("http://dx.doi.org/", "", out$doi[1])
(links <- cr_ft_links(doi, "all"))
$xml
<url> http://api.elsevier.com/content/article/PII:S1877042812005551?httpAccept=text/xml

$plain
<url> http://api.elsevier.com/content/article/PII:S1877042812005551?httpAccept=text/plain

xml <- cr_ft_text(links, "xml")
library("XML")
xpathApply(xml, "//ce:author")[[1]]
<ce:author>
<ce:degrees>Prof</ce:degrees>
<ce:given-name>Eiichi</ce:given-name>
<ce:surname>Taniguchi</ce:surname>
</ce:author>

关于python - 如何使用 R 或 Python 通过 Google Scholar 查询下载学术论文的 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com