我试图编写一个python脚本,它从ISI Web of Science中检索有关出版物的信息。我在GitHub上找到了domoritz的python脚本wos.py。它使用Suds连接到ISI Web of Science Web服务。我已经导入到我的Python脚本,我尝试这种代码,下面的评论非常简要说明:通过SOAP访问ISI Web of Science
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)
我想,也许query
不能只是一个普通的Python字符串,正如我在WSDL页面看到userQuery
实际上xs:string
类型是。但是this page说userQuery
“必须是一个有效的WOKQL查询语句。这个要求是在内部强制执行的”,这看起来好像我不必传入特殊类型。无论如何,我试图追加'xs:string'
到查询的开始,但我得到了同样的错误。
有没有人知道使用这种方法的正确方法?
我也在学习如何访问知识数据网页。你知道发生了什么吗? http://stackoverflow.com/questions/15647236/soap-service-for-accessing-web-of-knowledge-using-php – DanielTheRocketMan 2013-03-26 21:07:27
@Daniel对不起,不能帮助你!我对此很新。 – FrancesKR 2013-03-27 16:01:05
谢谢!您是否需要获得任何额外的许可才能使用此系统访问知识网络? – DanielTheRocketMan 2013-03-27 17:19:55