Python解释JSON值

2024-10-01 15:28:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一些Google自定义搜索引擎查询,并通过Python脚本以JSON格式返回结果。我感兴趣的一个字段是totalResults字段,它会告诉我搜索中有多少点击,我需要做多个查询,因为Google一次只返回10个点击。你知道吗

#!/usr/bin/python

import requests
import json
import re

r=requests.get("https://www.googleapis.com/customsearch/v1?key=MY_GOOGLE_API_KEY&cx=MY_APP_ID&q=MY_QUERY&alt=json",)

myjson=r.json()

print myjson["searchInformation"]["totalResults"]

for hit in myjson["items"]:
        date=re.match('\w+ \d+\, \d+',hit["snippet"])
        print str(date.group())+" "+hit["formattedUrl"]

当我得到我的搜索结果回来

u'searchInformation': {u'formattedSearchTime': u'0.26',
                    u'formattedTotalResults': u'489',
                    u'searchTime': 0.25836300000000001,
                    u'totalResults': u'489'},

我希望Python返回totalResults的值:

print myjson["searchInformation"]["totalResults"]

但是Python没有返回489,而是返回21,这似乎是totalResults字段中整数的总和。那么如何获取这个字段的值呢?你知道吗


Tags: importre脚本jsondatemygooglerequests
1条回答
网友
1楼 · 发布于 2024-10-01 15:28:03

这样做有效:

>>> import json
>>> 
>>> server_response = '{"searchInformation": {"formattedSearchTime": "0.26", "formattedTotalResults": "489", "searchTime": 0.25836300000000001, "totalResults": "489"} }'
>>> myjson = json.loads(server_response)
>>> print myjson["searchInformation"]["totalResults"]
489

也许这会帮助你调试你遇到的问题。你知道吗

相关问题 更多 >

    热门问题