设为首页收藏本站

Crossin的编程教室

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

关于 【Python 第44课】 查天气(2) 的问题

[复制链接]

1

主题

0

好友

7

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-7-19 13:16:24 |只看该作者 |倒序浏览
代码:
import urllib.request
import json
from city import city

cityname = input('city name\n')
citycode=city.get(cityname)
if citycode:
    url = ('http://www.weather.com.cn/data/cityinfo/%s.html' % citycode)
    content = urllib.request.urlopen(url).read()
    print(content)
    print (json.dumps(json.loads(content), ensure_ascii=False) )
结果如下:
b'{"weatherinfo":{"city":"\xe5\x8c\x97\xe4\xba\xac","cityid":"101010100","temp1":"-2\xe2\x84\x83","temp2":"16\xe2\x84\x83","weather":"\xe6\x99\xb4","img1":"n0.gif","img2":"d0.gif","ptime":"18:00"}}'
{"weatherinfo": {"city": "北京", "cityid": "101010100", "temp1": "-2℃", "temp2": "16℃", "weather": "晴", "img1": "n0.gif", "img2": "d0.gif", "ptime": "18:00"}}

按照教程里的做法中文无法显示,下边的结果是百度出来的一种方法,如何像教学里的一样可以直接显示中文呢?
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

沙发
发表于 2018-7-19 15:08:24 |只看该作者
编码
content = str(urllib.request.urlopen(url).read(),'utf-8')
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2018-7-19 16:32:47 |只看该作者
chikei 发表于 2018-7-19 15:08
编码
content = str(urllib.request.urlopen(url).read(),'utf-8')

直接print的是未解码的bytes。
print(content.decode('utf8'))
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-5-2 07:53 , Processed in 0.025510 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部