设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9727|回复: 1
打印 上一主题 下一主题

查天气(3)疑问请教

[复制链接]

1

主题

0

好友

39

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-9-4 18:17:16 |只看该作者 |倒序浏览
如下代码,跟公众号里代码类似,content能打印出来,但是data打印就会报错。请问是哪里出了问题??
代码如下:
import urllib.request
import json
from city import city   #前一个是模块名,自定义模块。后一个是变量名

print("你想要查询的城市")
one_city=input("请输入:")
citycode=city.get(one_city)
if citycode:
    web=urllib.request.urlopen("http://www.weather.com.cn/data/cityinfo/%s.html"%citycode)
    content=web.read()
    print(content)
    data=json.loads(content)
    print(data)

run之后,报错如下:
=== RESTART: C:/Users/MyPC/AppData/Local/Programs/Python/Python36/查天气1.py ===
你想要查询的城市是
请输入:北京
b'{"weatherinfo":{"city":"\xe5\x8c\x97\xe4\xba\xac","cityid":"101010100","temp1":"18\xe2\x84\x83","temp2":"31\xe2\x84\x83","weather":"\xe5\xa4\x9a\xe4\xba\x91\xe8\xbd\xac\xe9\x98\xb4","img1":"n1.gif","img2":"d2.gif","ptime":"18:00"}}'
Traceback (most recent call last):
  File "C:/Users/MyPC/AppData/Local/Programs/Python/Python36/查天气1.py", line 13, in <module>
    data=json.loads(content)
  File "C:\Users\MyPC\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 312, in loads
    s.__class__.__name__))
TypeError: the JSON object must be str, not 'bytes'
>>>


回复

使用道具 举报

1

主题

0

好友

39

积分

新手上路

Rank: 1

沙发
发表于 2018-9-5 18:12:31 |只看该作者
在代码
print(content)
后面加一行,转换成str即可。
content = content.decode('utf8')

问题已解。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-25 00:57 , Processed in 0.024000 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部