書接上文通過scrapy爬取京東商品。
在上文中,將數據存儲在了xlsx文件中,本文我們將把數據存儲在mongodb中。
什麼是mongodb
MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。
安裝mongodb
官方下載地址:https://www.mongodb.com/download-center?jmp=nav#community
選擇相對應的版本進行下載,並安裝。
MongoDB數據庫可視化操作工具
這裡推薦2個MongoDB數據庫可視化工具:
mongobooster
官方下載地址://www.softpedia.com/get/Internet/Servers/Database-Utils/MongoBooster.shtml
Robomongo
官方下載地址:https://robomongo.org/download
如何使用python操作mongodb
這裡推薦使用PyMongo。可以通過pip安裝pymongo
pip install pymongo
存儲在mongodb的代碼實現
由於我們需要修改的只是存儲部分,所以我們只需要修改上次的pipelines.py.
pipelines.py
open_spider(self, spider):當spider被開啟時,會調用。
close_spider(self, spider):當spider被關閉時,會調用。
process_item(self, item, spider):
每一個item管道組件都會調用該方法,並且必須返回一個item對象實例或拋出DropItem異常。
被丟掉的item將不會在管道組件進行執行。
from_crawler(cls, crawler):
此方法在初始化階段由scrapy自己調用,其最大的作用就是從settings.py讀取自己的設置
settings.py
運行
python run.py
存儲結果
我們通過mongobooster打開mongodb。
我們可以發現數據已經被存儲到mongodb中了。
源碼
github地址:https://github.com/guitangdong/scrapySpider/tree/master/jd-mongo