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模塊並進行改進:

 

 運行結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM