在使用Python写爬虫的时候,常常会遇到各种令人抓狂的编码错误问题。下面给出一些简单的解决编码错误问题的思路,希望对大家有所帮助。
首先,打开你要爬取的网站,右击查看源码,查看它指定的编码是什么,如:
<META http-equiv=Content-Type content="text/html; charset=gb2312">
我这里指定的charset为gb2312,下面我都会用gb2312作为例子进行编码解码
提交输入
我们常常要获取输入,通过参数的形式提交请求。如果直接 request.get(url+input) 的话,很容易出现编码错误。这时候,不妨尝试一下下面的方法:
1 data = { 2 "key":input.encode(‘gb2312‘,‘ignore‘) 3 } 4 request.post(url,data=data)
获取输出
当获取输出的时候,推荐使用如下获取方式:
1 res = request.get(xxx) 2 html = res.content.decode(‘gb2312‘,‘ignore‘)
写入到文件
把获取到的数据保存到文件中时
1 f = open(path,‘w+‘,encoding=‘gb2312‘) 2 f.write(xxx)