#! /usr/bin/python
import pprint
from apiclient.discovery import build
def main():
service = build("customsearch", "v1",
developerKey="<mykey>")
res = service.cse().list(
q='the.hobbit.2012',
cx='<the other key>',
).execute()
pprint.pprint(res)
if __name__ == '__main__':
main()
我运行的代码是什么,这是我得到的结果:
{u'context': {u'title': u'IMDB Search Engine'},
u'items': [{u'cacheId': u'kzgitw0HPeAJ',
u'displayLink': u'www.imdb.com',
u'formattedUrl': u'www.imdb.com/title/tt0903624/',
u'htmlFormattedUrl': u'www.imdb.com/title/tt0903624/',
u'htmlSnippet': u'Directed by Peter Jackson. With Martin Freeman, Ian McKellen, Richard Armitage<br> , Andy Serkis. A younger and more reluctant <b>Hobbit</b>, Bilbo Baggins, sets out on <b>...</b>',
u'htmlTitle': u'<b>The Hobbit</b>: An Unexpected Journey (<b>2012</b>) - IMDb',
u'kind': u'customsearch#result',
u'link': u'http://www.imdb.com/title/tt0903624/',
u'pagemap': {u'aggregaterating': [{u'bestrating': u'10',
u'ratingcount': u'157,307',
u'ratingvalue': u'8.4',
u'reviewcount': u'855'}],
现在我的问题是,如果我想从u'formattedUrl获取信息 我以为我能做到
urlinfo = res['item']['url']['formattedUrl']
就像我会用例如Objconfig做的那样。但那不行。那么我如何获得具体信息呢?有没有简单的方法呢?
答案 0 :(得分:1)
From Google API Client documentation:“响应是根据JSON响应构建的Python对象......”
items
的值是一个数组,因此您需要指定要检索的元素的ID:
urlinfo = res['items'][0]['formattedUrl']