Python的urllib2库爬取网页乱码问题
一般爬取中文网页乱码的原因有两个:
1.网页编码是gb2312,而python输出是utf-8,所以输出乱码
2.网页内容是经过压缩的,所以不解压直接输出肯定乱码,而大多数网页传输是以gzip压缩传出的
首先写一个最简单的爬虫(爬取www.qq.com):
# encoding=UTF-8
import urllib2
ua_header = {
"User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"}
request = urllib2.Request("http://www.qq.com/", headers=ua_header)
response = urllib2.urlopen(request)
html = response.read()
print html
可是结果是这样的—-全是天书: