Urllib2和JSON对象E

2024-09-30 06:31:17 发布

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

我跟随tutorial在我的项目中添加'Search Function'。不过,本教程基于Python2x&django1.7,而我使用的是Python2x&django1.7。在

搜索代码使用bing嫒search和urllib2。但是,urllib2在python3中不受支持,并且在随后的几个模块中已经分发了相同的内容。在

我如何设法使我的代码与python3兼容。但是现在我在提交搜索查询时出现了以下错误。在

The JSON object must be str, not 'bytes'

以下是我的代码供您审阅:

^{pr2}$

请指导我现在该做什么。在

提前谢谢你。。。。!在

附言:我看过一些类似的帖子,但我不能解决这个问题。在


Tags: 模块项目代码内容search错误function教程
1条回答
网友
1楼 · 发布于 2024-09-30 06:31:17

在将响应传递给json模块之前,需要对其进行解码:

response = urllib.request.urlopen(search_url)
codec = response.info().get_param('charset', 'utf8')  # default JSON encoding
json.loads(response.read().decode(codec))

服务器将在Content-Type头中为您提供一个charset=...参数,上面的^{} method将为您检索该参数。如果参数不存在,代码将返回到UTF-8,这是JSONas per the RFC的默认编码。在

相关问题 更多 >

    热门问题