scrapy儲存資料到mongodb

2022-09-15 11:21:11 字數 1254 閱讀 9567

修改配置檔案settings.py新增

item_pipelines =

mongo_uri = '

mongodb://localhost:27017

'mongo_db = "

qqnews

"

修改pipelines.py新增

class

qqnewsmongopipeline(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...