Python通過scrapy+pymongo爬取京東商品

書接上文通過scrapy爬取京東商品

在上文中,將數據存儲在了xlsx文件中,本文我們將把數據存儲在mongodb中。

什麼是mongodb

MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案。

MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。

安裝mongodb

官方下載地址:https://www.mongodb.com/download-center?jmp=nav#community

Python通過scrapy+pymongo爬取京東商品

mongodb下載

選擇相對應的版本進行下載,並安裝。

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

Python通過scrapy+pymongo爬取京東商品

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通過scrapy+pymongo爬取京東商品

settings.py

運行

python run.py

存儲結果

我們通過mongobooster打開mongodb。

Python通過scrapy+pymongo爬取京東商品

結果

我們可以發現數據已經被存儲到mongodb中了。

源碼

github地址:https://github.com/guitangdong/scrapySpider/tree/master/jd-mongo

相關推薦

推薦中...