我想使用以下查询搜索引文。搜索后,我打印它,它显示嵌套列表的结果。我想在'引用'之后得到这个数字。
如果我复制结果并将其存储在变量中,则程序可以正常工作。但是如果我直接存储在变量中,程序就不起作用了。请帮助我在引用后获取数字并将其存储到数据库中。并且数量每次都在变化。帮助朋友。我是python的新手。附上下面的搜索结果。
#!C:/Python27/python
from os import *
from cgi import *
import scholarly
import re
print "content-type: text/html\n\n"
search_query = scholarly.search_pubs_query('Three options for citation tracking: Google Scholar, Scopus and Web of Science')
author = next(search_query).fill()
print author
lst = author
if lst.has_key("citedby"):
print lst['citedby']
答案 0 :(得分:1)
在这种情况下,author
对象不是字典,也不是列表,而是scholarly.Publication
对象。这是因为您使用了search_ pubs _query scholarly
方法。所以你可以引用它的属性。
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import scholarly
>>> search_query = scholarly.search_pubs_query('Three options for citation tracking: Google Scholar, Scopus and Web of Science')
>>> author = next(search_query).fill()
>>> type(author)
<class 'scholarly.Publication'>
>>> vars(author).keys() # builtin vars will return a dictionary, so just show the keys
dict_keys(['bib', 'source', 'citedby', 'id_scholarcitedby', 'url_scholarbib', '_filled'])
>>> author.citedby
473
如果您想要作者,则需要使用scholarly.search_author
。