在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔

Posted 王者之泪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔相关的知识,希望对你有一定的参考价值。

一、将爬取的数据保存到mysql数据库的代码(已经能将爬取的数据保存到json文件)

  (1)编辑Pipeline.py文件

    

  (2)编辑settings.py文件

    

    

二、将数据保存至mysql数据库出现的问题

  (1)在将数据存储至数据库的时候,一直报1366的错,经查资料,发现是数据编码的问题,在博客里找了好几个解决方法,比较好的记录下:

      1. 首先停掉mysql服务,编辑配置文件my.cnf

      sudo stop mysql

      sudo vim/etc/mysql.cnf

      添加:

      

     2. 重启服务

      sudo start mysql

      sudo mysql -u root -p

      use root

      show variables like \'%char%\';#更改前存在的用户字符集不会改变,以后新建的用户字符集都会变成utf8,重新在数据库里建字段

      本段借鉴https://my.oschina.net/sldk/blog/266268

  (2)在进行爬取保存的时候,存的数据不完全,经检查后发现在爬取的数据里有空数据,所以在爬取的时候应做非空处理

三、导出数据库(以FP为例)(我使用的是root用户)

  (1)导出数据和表结构

    使用mysqldump命令,导出sql脚本(如果不指定导出路径,默认导出至当前路径)

    格式:mysqldump -u 用户名 -p (密码) 数据库名 > 数据库名.sql

       mysqldump -u root -p FP > FP.sql

       回车后提示输入密码

   (2)只导出表结构

    格式:mysqldump -u 用户名 -p (密码) -d 数据库名 > 数据库名.sql

       mysqldump -u root -p -d FP > FP.sql

二、导入数据库

  导入和导出我学习了这位仁兄的博客

  https://my.oschina.net/linuxphp/blog/693650

  

以上是关于在ubuntu 16.04里使用python—scrapy将爬取到的数据存到mysql数据库中的一些随笔的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 16.04 更改默认Python版本

Ubuntu16.04 Selenium+python 环境搭建 Chromedriver安装

Ubuntu16.04 配置Python 虚拟环境

无法在 python 中为 ubuntu 16.04 上的 libreoffice 导入 uno

Ubuntu 16.04安装MinGW32(在/etc/apt/sources.list里添加源)

ubuntu16.04 安装 python3.6, 并创建虚拟环境(使用python3.6)