使用pybliometrics调用Scopus接口时文献数量不一致问题咨询
问题原因及解决方法
核心原因:两个API的统计口径差异
AffiliationSearch和AffiliationRetrieval返回的文献数量不一致,本质是Scopus底层两个API端点的统计逻辑不同:
AffiliationSearch返回的documents数值,是该机构所有关联文献的总数(包括作者曾挂靠该机构、或该机构为作者隶属机构之一的所有文献)。AffiliationRetrieval默认返回的文献数(即你看到的221),是该机构作为作者当前/主要隶属机构的文献数,属于关联文献的子集。
而你从AffiliationRetrieval对象获取的Scopus页面显示1171,是因为页面展示的是机构全量关联文献,和AffiliationSearch的统计口径一致。
解决方法:调整AffiliationRetrieval的调用参数
在pybliometrics中调用AffiliationRetrieval时,指定view="COMPLETE"参数即可获取包含全量文献数的完整数据:
from pybliometrics.scopus import AffiliationRetrieval aff = AffiliationRetrieval("60092193", view="COMPLETE") print(aff.documents) # 此时返回值应与AffiliationSearch、Scopus页面一致,为1171
额外验证点
你可以通过AffiliationRetrieval对象的属性进一步确认统计逻辑:
- 默认调用下,
aff.document_count对应子集文献数(221) - 使用
view="COMPLETE"后,aff.documents会返回全量关联文献数,与Scopus页面、AffiliationSearch结果对齐
内容的提问来源于stack exchange,提问作者Rodolfo Rasia
相关产品推荐
相关产品推荐

