今天修改一个天气预报的东西,但输入城市不能得到天气预报,感觉是编码不对,因为你输入一个城市(比如‘杭州’),url的地址编码却是%E4%B8%BD%E6%B1%9F,因此需 要做一个转换。
>>> import urllib>>> data 杭州>>> print data杭州>>> dataxe6x9dxadxe5xb7x9e>>> urllib.quote(data)%E6%9D%
>>> urllib.unquote(%E6%9D%AD%E5%B7%9E)xe6x9dxadxe5xb7x9e>>> print urllib.unquote(%E6%9D%AD%E5%B7%9E)杭州细心的同学会发现贴吧
百度的是gbk,其他的一般网站比如google就是utf8的。所以可以用下列语句实现。
>>> import sys,urllib>>> s 杭州>>> urllib.quote(s.decode(sys.stdin.encoding).encode(gbk))%BA%BC%D6%DD