ISI Web of Science から出版物に関する情報を取得する python スクリプトを作成しようとしています。GitHubで domoritz の python スクリプトwos.pyを見つけました。Suds を使用して、ISI Web of Science Web サービスに接続します。私はそれを自分のpythonスクリプトにインポートし、コメントの非常に簡単な指示に従って、このコードを試しました:
from wos import *
soap = WokmwsSoapClient()
results = soap.search('Hallam')
次に、エラーが発生します。
suds.WebFault: Server raised fault: 'line 1:1: unexpected token: Hallam'
wos.py のコードを調べました。search
関数は次のとおりです。
def search(self, query):
qparams = {
'databaseID' : 'WOS',
'userQuery' : query,
'queryLanguage' : 'en',
'editions' : [{
'collection' : 'WOS',
'edition' : 'SCI',
},{
'collection' : 'WOS',
'edition' : 'SSCI',
}]
}
rparams = {
'count' : 5, # 1-100
'firstRecord' : 1,
'fields' : [{
'name' : 'Relevance',
'sort' : 'D',
}],
}
return self.client['search'].service.search(qparams, rparams)
実際にはタイプのWSDLページでquery
見たように、単なる python 文字列にはならないのではないかと思いました。しかし、このページには、「有効な WOKQL クエリ ステートメントである必要があります。この要件は内部で適用されます」と記載されているため、特別な型を渡す必要はないように思えます。とにかく、クエリの先頭に追加しようとしましたが、同じエラーが発生しました。userQuery
xs:string
userQuery
'xs:string'
このメソッドを使用する適切な方法を知っている人はいますか?