此代码搜索从googlecustomsearch API和返回数据的查询JSON格式
import pprint
import json
from googleapiclient.discovery import build
my_api_key = "**************************************"
my_cse_id = "*************************************"
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch", "v1", developerKey=api_key)
res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
return res['items']
results = google_search(
'Roshan Patel', my_api_key, my_cse_id, num=10)
for result in results:
pprint.pprint(result)
result_dict = json.loads(result)
print result_dict['formattedUrl']
enter image description here 这是我收到的输出。 我想只获得例如:u'formattedUrl'的url部分并将它存储在一个列表中,怎么做?如何处理python中的json数据?
新的错误 ``` 回溯(最近通话最后一个):
文件 “”,1号线,在 运行文件( 'C:/Users/abc/untitled9.py',WDIR =” C:/ Users/abc')
运行文件中第880行文件“C:\ Users \ abc \ Anaconda2 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py” execfile(filename,命名空间)
execfile中的文件“C:\ Users \ abc \ Anaconda2 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”,第87行 EXEC(编译(scripttext,文件名, 'EXEC'),水珠,LOC)
文件 “C:/Users/abc/untitled9.py”,第28行,在 result_dict = json.loads(结果)
文件 “C:\用户\ ABC \ Anaconda2 \ LIB \ json__init __ PY”,线路339,在负载 回报_default_decoder.decode(S)
文件“C:\用户\ ABC \ Anaconda2 \ LIB \ json \ decoder.py“,第364行解码为 obj,end = self.raw_decode(s,idx = _w(s,0).end())
TypeError:期望的字符串或缓冲区 ```
我建立一个小骗子触觉搜索enigne。 – Shubh
它看起来像'result'不是JSON,而是一个实际的Python字典,所以只需要'print result [u'formattedUrl']'。 –
感谢马克,它实际上是一本字典 – Shubh