scrapy爬虫录入mysql中文乱码的解决

Posted maoyq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scrapy爬虫录入mysql中文乱码的解决相关的知识,希望对你有一定的参考价值。

  scrapy爬取item后,我们可以用pipeline.py把item录入到mysql数据库里

  编写pipeline.py定义一个类,这个类就是用来录入数据库的,记得在setting.py里的item_pipelines={......}里加上这个类的路径,然后可以在setting里写数据库连接的ip,端口,用户名,密码,数据库  有多种写法,有的是依次定义他们,比如,MYSQL_USER=‘root‘ ,有的可以把上面几个东西写成一串url,在pipeline.py里解析

  很好,可是发现把中文录入到数据库的时候,是乱码的,~~~~~~~

       然后百度到了这个博客:

   https://blog.csdn.net/u012410733/article/details/61619656/

  所以,我们可以把mysql字符集设置成utf8,

  修改/etc/mysql/my.cnf   :

  

[mysqld]
character-set-server=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

重启mysql   $ etc/init.d/mysql restart

进入mysql> show variables like ‘%char%‘;

可以看到设置更改为了utf8

 

还有,比如我们在mysql建表的时候,可以指定字符集为utf8 Navicat就有这个选项,很方便

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

好吧,一点也不方便~~~~~~

 

以上是关于scrapy爬虫录入mysql中文乱码的解决的主要内容,如果未能解决你的问题,请参考以下文章

scrapy框架--?乱码unicode

JDBC中向数据库录入汉字产生乱码的解决办法

Python3爬虫Scrapy+MongoDB+MySQL

scrapy抓取的中文结果乱码解决办法

python爬虫中文乱码解决方法

python网络爬虫实战-Scrapy,深入理解scrapy框架,解决数据抓取过程