http://www.developers.elsevier.com/action/devprojectsに登録しました。プロジェクトを作成し、scopus キーを取得しました。
firstname
さて、この生成されたキーを使用して、lastname
とで作成者を見つけたいと思いますsubjectarea
。Scopus へのアクセスが許可されている大学のネットワークからリクエストを送信します (Scopus 検索への完全な手動アクセスがあり、Firefox から問題なく使用できます)。ただし、簡単なスクリプトを作成して、Scopus マイニングを自動化したいと考えていました。firstname
著者の、lastname
およびを指定して、その著者の出版物を検索したいと思いますsubjectarea
。
これが私のコードです:
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
from scopus import SCOPUS_API_KEY
scopus_author_search_url = 'http://api.elsevier.com/content/search/author?'
headers = {'Accept':'application/json', 'X-ELS-APIKey': SCOPUS_API_KEY}
search_query = 'query=AUTHFIRST(%) AND AUTHLASTNAME(%s) AND SUBJAREA(%s)' % ('John', 'Kitchin', 'COMP')
# api_resource = "http://api.elsevier.com/content/search/author?apiKey=%s&" % (SCOPUS_API_KEY)
# request with first searching page
page_request = requests.get(scopus_author_search_url + search_query, headers=headers)
print page_request.url
# response to json
page = json.loads(page_request.content.decode("utf-8"))
print page
次SCOPUS_API_KEY
のようになりますSCOPUS_API_KEY="xxxxxxxx"
。
大学のネットワークから scopus にフル アクセスできますが、次のような応答が返ってきます。
{u'service-error': {u'status': {u'statusText': u'このリソースにアクセスするには、リクエスターの構成設定が不十分です。', u'statusCode': u'AUTHENTICATION_ERROR'}}}
生成されたリンクは次のようになります。 XML ファイルを示します。
<service-error><status>
<statusCode>AUTHORIZATION_ERROR</statusCode>
<statusText>No APIKey provided for request</statusText>
</status></service-error>
または、 を に変更すると、次のscopus_author_search_url
よう"http://api.elsevier.com/content/search/author?apiKey=%s&" % (SCOPUS_API_KEY)
になります。
{u'service-error': {u'status': {u'statusText': u'Requestor configuration settings insufficient for access to this resource.', u'statusCode': u'AUTHENTICATION_ERROR'}}}
および XML ファイル:
<service-error>
<status>
<statusCode>AUTHENTICATION_ERROR</statusCode>
<statusText>Requestor configuration settings insufficient for access to this resource.</statusText>
</status>
</service-error>
この問題の原因は何ですか?どうすれば修正できますか?