如何用pybliometrics获取论文通讯作者及其邮箱?
用pybliometrics获取论文通讯作者及邮箱的可行方案
可以实现,但AbstractRetrieval类确实没有直接标记“通讯作者”的字段,不过有两种靠谱的方法能拿到你要的信息:
方法一:利用
AbstractRetrieval的correspondence属性
很多人容易忽略这个属性——它直接返回论文的通讯地址信息,里面通常包含通讯作者的姓名、所属机构和邮箱(如果期刊提交时提供了的话)。示例代码:from pybliometrics.scopus import AbstractRetrieval # 替换成目标论文的Scopus ID或DOI ab = AbstractRetrieval("2-s2.0-850987654321") # 打印通讯信息字典 print(ab.correspondence)注意:返回的内容取决于Scopus收录的原始数据,部分论文可能没有公开邮箱。
方法二:结合
ScopusSearch精准定位通讯作者
如果correspondence信息不全,可以用Scopus的检索语法筛选通讯作者,再匹配目标论文。比如针对已知DOI的论文,构造检索式过滤通讯作者:from pybliometrics.scopus import ScopusSearch # 替换成目标论文的DOI query = f'DOI("10.1234/abc.2024") AND CORRESPONDING(1)' s = ScopusSearch(query) # 从结果中提取通讯作者的ID和邮箱 for entry in s.results: print(f"通讯作者ID: {entry.author_id}, 邮箱: {entry.email}")这种方法能直接从检索结果里拿到通讯作者的关联信息,不过同样受限于Scopus的收录数据完整性。
补充说明:Scopus API返回的通讯作者信息完全依赖期刊提交的元数据,部分论文可能因为作者未公开、期刊未收录等原因没有邮箱,这时候就只能和你在Scopus网页下载的结果一致——网页上有的,API里才会有。
内容的提问来源于stack exchange,提问作者Roger Reka
相关产品推荐
相关产品推荐

