【问题标题】:Return correct number of citations from Microsoft Academic API从 Microsoft Academic API 返回正确的引用数
【发布时间】:2021-02-09 17:07:30
【问题描述】:

我正在尝试使用 Microsoft Academic API 获取几位作者的引用计数。但是,我发现我的手动搜索检索到的结果与 API 调用不同。例如,作者 Laurens van der Maaten 似乎有 40,747 次引用(参见 here)。但是,当我尝试使用如下所示的 API 调用(使用 Python)时,得到的结果较少。

import requests

def get_author_CC(subscription_key, author_name):
    url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate'
    params = {
        "expr": f"Composite(AA.AuN=='{author_name}')",
        "attributes": "CC"
    }
    headers = {'Ocp-Apim-Subscription-Key': subscription_key}

    r = requests.get(url, params=params, headers=headers).json().get('entities')
    
    return sum([ld.get('CC') for ld in r])

get_author_CC(subscription_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", author_name="laurens van der maaten")
>>> 26545

是否有参数或我缺少的东西?谢谢。

【问题讨论】:

    标签: python api web-services search academic-graph


    【解决方案1】:

    阅读完文档后,我认为您需要使用ECC,这是估计的引用数。另外,您需要在params 中提供count,因为默认为count=10

    import requests
    
    def get_author_CC(subscription_key, author_name):
        url = 'https://api.labs.cognitive.microsoft.com/academic/v1.0/evaluate'
        params = {
            "expr": f"Composite(AA.AuN=='{author_name}')",
            "attributes": "ECC,CC",
            'count': 10000
        }
        headers = {'Ocp-Apim-Subscription-Key': subscription_key}
    
        r = requests.get(url, params=params, headers=headers).json().get('entities')
        
        return sum([ld.get('ECC') for ld in r])
    
    get_author_CC(subscription_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", author_name="laurens van der maaten")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多