此次我用的是python3.6,scrapy在python2.7,3.5的使用方法都不一样因此要特别注意,python
列如 在python3.5的开发环境下scrapy 的主爬虫文件能够使用 from urllib import parse 而python3.6就不行,还有许多不兼容的黎姿例子还需咱们去发现mysql
通常python操做mysql数据时,都会用到MYSQLDB,目前来说MYSQLDB只在2.7版板上支持sql
因此我选择了pymysql 和 sqlalchemy 用于scrapy爬取数据时存储数据,但在python3.6版本中sqlalchemy效果不佳,代码冗杂,因此我使用了pymysqlpython2.7
数据存储的过程当中编码的问题十分重要,下图为你们展现错误的案例:scrapy
如上图所示我正常爬取了糗事百科某一页的用户名列表,结果以下:编码
如今我引入pymysql直接进行数据存储url
在这里我将下载的数据强制转换为字符串存储,执行完毕后查看数据表:3d
很明显乱码了 blog
下面我将在scrapy里pipelines.py引入pymysql模块并进行改进:sqlalchemy
运行结果以下: