设为首页收藏本站

Crossin的编程教室

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

python编码问题

[复制链接]

3

主题

0

好友

27

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2016-11-8 15:22:18 |只看该作者 |倒序浏览
最近看了crossin 老师的课,想做一个网络爬虫遇到问题。。

老师课中用的 网站  http://www.weather.com.cn/data/sk/101010100.html
现在已经不更新了,里边的数据读出来是这样的:

{"weatherinfo":{"city":"鍖椾含","cityid":"101010100","temp":"18","WD":"涓滃崡椋�","WS":"1绾�","SD":"17%","WSE":"1","time":"17:05","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"鏆傛棤瀹炲喌","qy":"1011","rain":"0"}}

虽然直接打开链接是乱码,但是用代码获取这个内容,代码是这样的:

web=urllib2.Request('http://wthrcdn.etouch.cn/weather_mini?citykey=101010100')
data=urllib2.urlopen(web).read()
print type(data)
print data

可以完美的读出内容,没有乱码。打印结果是这样的:
8.jpg

可是中国天气网这个网站早就不更新了,而且数据还少...秉承着孜孜不倦的精神翻过去的帖子。在老师另一篇帖子下找到这个网站   :http://wthrcdn.etouch.cn/weather_mini?citykey=101010100

里边数据很丰富,数据是这样的:

{"desc":"OK","status":1000,"data":{"wendu":"11","ganmao":"鏄煎娓╁樊寰堝ぇ锛屾槗鍙戠敓鎰熷啋锛岃娉ㄦ剰閫傚綋澧炲噺琛f湇锛屽姞寮鸿嚜鎴戦槻鎶ら伩鍏嶆劅鍐掋€�","forecast":[{"fengxiang":"鏃犳寔缁鍚�","fengli":"寰绾�","high":"楂樻俯 11鈩�","type":"鏅�","low":"浣庢俯 -1鈩�","date":"8鏃ユ槦鏈熶簩"},{"fengxiang":"鏃犳寔缁鍚�","fengli":"寰绾�","high":"楂樻俯 10鈩�","type":"鏅�","low":"浣庢俯 1鈩�","date":"9鏃ユ槦鏈熶笁"},{"fengxiang":"鏃犳寔缁鍚�","fengli":"寰绾�","high":"楂樻俯 9鈩�","type":"闇�","low":"浣庢俯 0鈩�","date":"10鏃ユ槦鏈熷洓"},{"fengxiang":"鏃犳寔缁鍚�","fengli":"寰绾�","high":"楂樻俯 11鈩�","type":"澶氫簯","low":"浣庢俯 2鈩�","date":"11鏃ユ槦鏈熶簲"},{"fengxiang":"鏃犳寔缁鍚�","fengli":"寰绾�","high":"楂樻俯 11鈩�","type":"澶氫簯","low":"浣庢俯 1鈩�","date":"12鏃ユ槦鏈熷叚"}],"yesterday":{"fl":"4-5绾�","fx":"鍖楅","high":"楂樻俯 11鈩�","type":"鏅�","low":"浣庢俯 2鈩�","date":"7鏃ユ槦鏈熶竴"},"aqi":"39","city":"鍖椾含"}}
还用刚才的代码去获取,问题来了!!!!读不出来我的天!!
打印结果是这样的:
7.jpg
到底是哪里出了问题???
需要老师给解答一下!!
然后,自己进入这个坑死活出不去啦!就想着,试一下xml文件获取天气信息的方法!同样是老师的那篇帖子,下边还有 .xml的链接 ,就是这个:  http://wthrcdn.etouch.cn/WeatherApi?citykey=101010100
这信息真特么的丰富啊!!还有七天的预报!然而!!!
依旧是乱码!

希望大神能把这俩问题给我解答一下...
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2016-11-8 15:28:22 |只看该作者
https://zhuanlan.zhihu.com/p/21057822
参考这篇文章

乱码的2种可能,编码问题,和压缩
简单的办法是直接用 requests 包来抓取。
手动的办法就是重新编码和解压缩。
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-5-9 06:39 , Processed in 0.023894 second(s), 28 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部