此次我用的是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
運行結果以下: