python 处理抓取网页乱码问题一招鲜

相信用python的人必定在抓取网页时,被编码问题弄晕过一阵 html

前几天写了一个测试网页的小脚本,并查找是否包含指定的信息。 python

在html = urllib2.open(url).read()  时,打印到控制台始终出现乱码。 测试

通常的解决办法就是html.decode('utf-8').encode('gb2312'),不过这个即便用了,也没能解决个人问题 编码

这里有两个问题,第一个你要知道网页的编码格式是utf-8     第二你得肯定你的系统是gb2312的,能不能主动获取网页的编码格式,并主动获取系统编码格式,像这样 url

网页编码 = 获取网页编码 spa

系统编码 = 获取系统编码 code

html.decode(网页编码).encode(系统编码)  即便我不知道网页编码,系统编码,只要双方能转 ,就行htm

网页编码 = re.complier('正则获取meta里的编码格式') utf-8

系统编码 =  sys.getfilesystemencoding()  ########关键的关键 get

html.decode(网页编码).encode(系统编码)   如今打印,一切正常了。我才无论系统什么编码,只要你能转。

相关文章
相关标签/搜索