常见的问题
- 问题: UnicodeDecodeError:‘utf-8’ codec can’t decode byte 0x8b in position 1: invalid start byte
解决方案:
(针对网页压缩)- 先使用print(……)函数确认一下,是否是网页的压缩所导致的,即输出的内容为乱码,非\0x88之类的编码
……#省略 req = urllib.request.Request(item,headers) html = urllib.request.urlopen(req) doc = html.read().decode('utf8') ……#省略
- 如果是,注释掉爬虫应用变量 headers 的"Accept-Enncoding"这一行,如下例所示;
注意:使用IDE工具的搜索一下爬虫项目即可找到该行。
header = { ……#省略 # "Accept-Encoding":"gzip, deflate" ……#省略