Bug有时候破坏的你的兴致阻撓了保持到现在的渴望。可是自己又非常明白,它是一种激励是注定要被你踩在脚下的垫脚石!
python爬虫乱码2.7中最头疼的可能莫过于編码问题了,尤其还是在window环境下有时候总是出现莫名其妙的问题,有时候明明昨天还好好的今天却突然。。遇到这种问题真的是一肚子的火。fuck!
首先,在我们编写python爬虫乱码代码的时候就要注意一些编码的规范
4.一般网站基本都是utf-8或者gb2312。可以尝试进行decode然後encode 当前输出环境的编码格式,系统默认的编码格式通过sys.getfilesystemencoding()涉及到文件路径的时候要转换为系统默认的编码。
5.unicode字符串在写入文件时必须轉换为某种字符编码
在抓取网页时,我们可以先看看该网页的字符编码这些内容可以在html代码或者f12看network中看到:
当你得到网页源碼后进行print的时候,那么你就要小心了你可能会得到UnicodeEncodeError!
还有一种可能就是,你得到的网站内容是被gzip压缩过的这时候我们还需要去解壓缩。大部分的服务器是支持gzip压缩的我更改了一下HttpClient.py。我们默认就去已gzip的方式去访问网站得到压缩过的内容再处理,这样抓取速度就更赽了下面来看一下HttpClient.py的Get方法:
写了这么多发现没写到点子上,自己经验比较少然而字符编码这种事情是需要经验的。总结起来就是┅句话如果出现了UnicodeEncodeError错误了,就说明字符编码出问题了python爬虫乱码解释器也是一个工具,你需要让他明白所以要decode,然后他为了让你明白所以要encode 为了万无一失推荐使用chardet包!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。