修改配置檔案settings.py新增
item_pipelines =mongo_uri = '
mongodb://localhost:27017
'mongo_db = "
qqnews
"
修改pipelines.py新增
classqqnewsmongopipeline(object):
collection = '
military_affairs
'def
__init__
(self, mongo_uri, mongo_db):
self.mongo_uri =mongo_uri
self.mongo_db =mongo_db
@classmethod
deffrom_crawler(cls, crawler):
'''scrapy為我們訪問settings提供了這樣的乙個方法,這裡,
我們需要從settings.py檔案中,取得資料庫的uri和資料庫名稱
'''return
cls(
mongo_uri = crawler.settings.get('
mongo_uri'),
mongo_db = crawler.settings.get('
mongo_db')
)defopen_spider(self, spider):
'''爬蟲一旦開啟,就會實現這個方法,連線到資料庫
'''self.client =pymongo.mongoclient(self.mongo_uri)
self.db =self.client[self.mongo_db]
defclose_spider(self, spider):
'''爬蟲一旦關閉,就會實現這個方法,關閉資料庫連線
'''self.client.close()
defprocess_item(self, item, spider):
'''每個實現儲存的類裡面必須都要有這個方法,且名字固定,用來具體實現怎麼儲存
'''if
not item['
title']:
return
item
data=
table =self.db[self.collection]
table.insert_one(data)
return item
scrapy儲存資料到文字
import json class myspiderpipeline object 在例項化的時候與處理一些事情 defopen spider self,spider self.file open fenghua.json w defprocess item self,item,spider 資料處...
scrapy 爬蟲儲存資料
scrapy儲存資訊的最簡單的方法主要有四種,o 輸出指定格式的檔案,命令如下 json格式,預設為unicode編碼 scrapy crawl itcast o teachers.json json lines格式,預設為unicode編碼 scrapy crawl itcast o teache...
Scrapy 資料持久化儲存
本文首發於我的部落格 gongyanli.com 前言 本文主要講解scrapy的資料持久化,主要包括儲存到資料庫 json檔案以及內建資料儲存 pipelins.py import json from scrapy.exceptions import dropitem class mypipeli...