设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第44课】 查天气(2)

  [复制链接]

0

主题

0

好友

18

积分

新手上路

Rank: 1

楼主
发表于 2013-10-16 10:15:13 |显示全部楼层
crossin先生 发表于 2013-9-10 23:25
你这个已经快接近了啊,把这个json数据取出来就是结果了

我想问下,这个json怎么取出来啊??
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

沙发
发表于 2013-10-16 12:44:32 |显示全部楼层
Sooongz 发表于 2013-9-10 22:49
为什么我在python3下获得的数据是这样的
b'{"weatherinfo":{"city":"\xe5\x8d\x97\xe4\xba\xac","cityid":" ...

你可以这样做:
  1. import urllib.request
  2. import json
  3. list=urllib.request.urlopen('http://www.weather.com.cn/data/cityinfo/101190101.html').read();
  4. list=list.decode('utf-8')
  5. print(list)
复制代码
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

板凳
发表于 2013-10-16 13:24:46 |显示全部楼层
在Linux上,这么做是可以输出的,没有乱码。但是在windows上,就会有点问题了。。
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

地板
发表于 2013-10-16 13:36:22 |显示全部楼层
问个问题啊。
我在windows上和linux上都运行相同的代码,但是结果不一样..
代码都是如下所示
  1. import urllib.request

  2. url=("http://www.baidu.com")
  3. request=urllib.request.Request(url)
  4. response=urllib.request.urlopen(request)
  5. content=response.read().decode("utf-8")
  6. try:
  7.     with open('./baidu.html','w') as data:
  8.         print(content,file=data)
  9. except IOError as a:
  10.     print('IOerror'+str(a))
  11. print(content)
复制代码
然后我在linux下打开这个网页的话,是正常显示的,但是在windows下打开的话,那些汉字会变成菱形..如果我把浏览器的编码换成gbk的话,那就可以正常显示了,这是为什么?
回复

使用道具 举报

0

主题

0

好友

18

积分

新手上路

Rank: 1

5#
发表于 2013-10-16 23:12:05 |显示全部楼层
crossin先生 发表于 2013-10-16 15:54
编码的问题。但我也不确定是那里的问题。
可能是因为,你的文件编码是utf8,但你保存的网页内容里面并没 ...

好的。。谢了。
回复

使用道具 举报

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

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

GMT+8, 2024-5-4 07:12 , Processed in 0.020867 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部