python写爬虫时的编码问题解决方案

Posted iceli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python写爬虫时的编码问题解决方案相关的知识,希望对你有一定的参考价值。

  在使用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)

 

 

 

 

 

 

  


 

 

 

 

  



以上是关于python写爬虫时的编码问题解决方案的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫抓取到的数据用网页打开时是乱码,怎么解决

使用python进行URL编码,爬虫时解决参数乱码的问题

网络爬虫在爬取网页时,响应头没有编码信息...如何解决保存在本地的乱码问题?

scrapy按顺序启动多个爬虫代码片段(python3)

scrapy主动退出爬虫的代码片段(python3)

爬虫网页编码问题解决思路