使用搜索结果python获取字符串后面的数字

时间:2017-12-20 02:31:07

标签: python

我想使用以下查询搜索引文。搜索后,我打印它,它显示嵌套列表的结果。我想在'引用'之后得到这个数字。

如果我复制结果并将其存储在变量中,则程序可以正常工作。但是如果我直接存储在变量中,程序就不起作用了。请帮助我在引用后获取数字并将其存储到数据库中。并且数量每次都在变化。帮助朋友。我是python的新手。附上下面的搜索结果。

Image shows the output

 #!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']

1 个答案:

答案 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