Scopus论文数据爬虫
Posted cuihongyu3503319
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scopus论文数据爬虫相关的知识,希望对你有一定的参考价值。
Scopus是一家文献数据库。它囊括有全球5000多家在科学、技术、医学和社会科学等领域的出版商。
首先爬取Scopus论文数据需要注册一个 elsevier 开发者账号,因为所有API都需要key来访问。API的列表可以查看
https://dev.elsevier.com/api_docs.html
这里有一个需要注意的是
普通的api只能爬取5000条数据,当超过5000条数据的时候,可以通过加cursor=*来获取
正常情况我们会使用python来爬取,这里推荐一个很好用的package “pybliometrics”
pybliometrics: Python-based API-Wrapper to access Scopus
作为工具来爬取信息
pip install pybliometrics
接下来就是代码实现了, 再通过publication doi 搜取文章信息的时候,可能会遇到搜索不到的情况
import pybliometrics
from pybliometrics.scopus import AuthorRetrieval
# pybliometrics.scopus.utils.create_config() 配置key
# retrieval
a = AuthorRetrieval(‘37055346800‘)
print(a.eid)
print(a.document_count)
#search
from pybliometrics.scopus import AuthorSearch
b = AuthorSearch(‘AUTHLAST(Selten) and AUTHFIRST(Reinhard)‘, refresh=True)
print(b)
#search article information
# 此处的文章搜索不到
from pybliometrics.scopus import ScopusSearch
try:
# a = ScopusSearch(‘10.1016/S0001-8791(02)00059-3‘)
# 更好的文章搜索方式
a = ScopusSearch(‘DOI(10.1016/S0001-8791(02)00059-3)‘)
print(a.results, sys.argv[2])
except:
print(‘a‘ in locals().keys())
# pybliometrics.scopus.utils.create_config() 配置key
第一次去掉注释,配置APIKey, InstToken不需要设置
vi ~/.scopus/config.ini
[Authentication]
APIKey = 45c21b56a471de9ae547070ca94ab829
InstToken =
cat ~/.scopus/config.ini
当key过期或者超过5000次requests之后,需要更新key
错误码
pybliometrics.scopus.exception.Scopus429Error: QUOTA EXCEEDED
以上是关于Scopus论文数据爬虫的主要内容,如果未能解决你的问题,请参考以下文章