设为首页收藏本站

Crossin的编程教室

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

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

  [复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

171#
发表于 2017-1-19 17:05:20 |只看该作者
xpfdsg 发表于 2017-1-18 22:39
老师,为什么到最后取地区名字的时候出来的字是这样的呢?

因为网页返回的编码是 utf8,但windows默认是gbk,所以如果你直接输出的话,是会有问题的。
保存在文件里应该没问题。

如果要输出,要转换编码,你可以翻翻之前的评论。用 decode 转成 unicode 再输出
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

20

积分

新手上路

Rank: 1

172#
发表于 2017-1-19 21:28:58 |只看该作者
crossin先生 发表于 2017-1-19 17:05
因为网页返回的编码是 utf8,但windows默认是gbk,所以如果你直接输出的话,是会有问题的。
保存在文件里 ...

谢谢老师,已经搞定啦
PS:天气网上的城市代码好像已经有改动,我抓下来的城市和老师给的有些出入
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

173#
发表于 2017-2-23 16:08:39 |只看该作者
Crossin老师好温柔啊,所有问题都耐心回答
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

174#
发表于 2017-2-23 17:29:32 |只看该作者
Estheriii 发表于 2017-2-23 16:08
Crossin老师好温柔啊,所有问题都耐心回答

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

56

积分

注册会员

Rank: 2

175#
发表于 2017-6-25 14:21:09 |只看该作者
用主贴的代码输入北京后却什么反应都没有,程序直接结束;
如果去掉if citycode那一行,可以得到一堆包含‘找不到该页面’的代码,
请问 老师是怎么回事啊?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

176#
发表于 2017-6-25 14:35:29 |只看该作者
jinss 发表于 2017-6-25 14:21
用主贴的代码输入北京后却什么反应都没有,程序直接结束;
如果去掉if citycode那一行,可以得到一堆包含‘ ...

windows开头要加上 #coding: gbk,utf8不行
city.py开头也要加

你翻下之前的回帖里面有人提到
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

56

积分

注册会员

Rank: 2

177#
发表于 2017-6-25 15:07:17 |只看该作者
crossin先生 发表于 2017-6-25 14:35
windows开头要加上 #coding: gbk,utf8不行
city.py开头也要加

cp936和gbk都试过了,city文件也相应改了,还是输入“北京”后直接结束,很伤
# -*- coding: cp936-*-
import urllib2
import json
from city import city
print'ni xiang chaxun nage chengshi?'
cityname=raw_input()
citycode=city.get(cityname)
if citycode:
    url = 'http://www.weather.com.cn/data/cityinfo/%s.html' % citycode
    content = urllib2.urlopen(url).read()
    print content
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

178#
发表于 2017-6-25 19:04:11 |只看该作者
jinss 发表于 2017-6-25 15:07
cp936和gbk都试过了,city文件也相应改了,还是输入“北京”后直接结束,很伤
# -*- coding: cp936-*-
im ...

那你就输出下看看你的 cityname 拿到的是什么,
city是什么,citycode是什么

print repr(cityname)
print city
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

179#
发表于 2017-6-25 19:04:25 |只看该作者
jinss 发表于 2017-6-25 15:07
cp936和gbk都试过了,city文件也相应改了,还是输入“北京”后直接结束,很伤
# -*- coding: cp936-*-
im ...

那你就输出下看看你的 cityname 拿到的是什么,
city是什么,citycode是什么

print repr(cityname)
print city
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

180#
发表于 2017-6-25 19:04:29 |只看该作者
jinss 发表于 2017-6-25 15:07
cp936和gbk都试过了,city文件也相应改了,还是输入“北京”后直接结束,很伤
# -*- coding: cp936-*-
im ...

那你就输出下看看你的 cityname 拿到的是什么,
city是什么,citycode是什么

print repr(cityname)
print city
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-4-20 21:54 , Processed in 0.029419 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部