python3之scrapy数据存储问题(MySQL)

这次我用的是python3.6,scrapy在python2.7,3.5的使用方法都不同所以要特别注意,

列如 在python3.5的开发环境下scrapy 的主爬虫文件可以使用 from urllib import parse 而python3.6就不行,还有许多不兼容的黎姿例子还需我们去发现

一般python操作mysql数据时,都会用到MYSQLDB,目前来讲MYSQLDB只在2.7版板上支持

所以我选择了pymysql 和 sqlalchemy 用于scrapy爬取数据时存储数据,但在python3.6版本中sqlalchemy效果不佳,代码冗杂,所以我使用了pymysql

数据存储的过程中编码的问题十分重要,下图为大家展示错误的案例:

如上图所示我正常爬取了糗事百科某一页的用户名列表,结果如下:

现在我引入pymysql直接进行数据存储

在这里我将下载的数据强制转换为字符串存储,执行完毕后查看数据表:

很明显乱码了 

下面我将在scrapy里pipelines.py引入pymysql模块并进行改进:

 运行结果如下:

原文地址:https://www.cnblogs.com/woshiruge/p/8277885.html