Scopus論文數據爬蟲


Scopus是一家文獻數據庫。它囊括有全球5000多家在科學、技術、醫學和社會科學等領域的出版商。

首先爬取Scopus論文數據需要注冊一個 elsevier 開發者賬號,因為所有API都需要key來訪問。API的列表可以查看

這里有一個需要注意的是

普通的api只能爬取5000條數據,當超過5000條數據的時候,可以通過加cursor=*來獲取

Elsevier Developer Portaldev.elsevier.com圖標

 

正常情況我們會使用python來爬取,這里推薦一個很好用的package “pybliometrics

pybliometrics: Python-based API-Wrapper to access Scopuspybliometrics.readthedocs.io

作為工具來爬取信息

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM