Pipeline.py
class MongoDBPipeline:
def __init__(self,conn,database):
self.conn = conn
self.database = database
@classmethod
def from_crawler(cls, crawler):
return cls(
conn=crawler.settings.get(‘MONGODB_CONNECTION_STRING’),
database=crawler.settings.get(‘MONGODB_DATABASE’)
)
def open_spider(self,spider):
# 創(chuàng)建連接對(duì)象
self.client = pymongo.MongoClient(self.conn)
# 連接要用的使用的數(shù)據(jù)庫(kù)
self.db = self.client[self.database]
def process_item(self,item,spider):
# 設(shè)置使用表名稱
name = item.__class__.__name__
# 默認(rèn)item類名
self.db[name].insert_one(dict(item))
return item
def close_spider(self,spider):
self.client.close()
標(biāo)簽MongoDB,技術(shù)文檔,數(shù)據(jù)庫(kù),MongoDB
網(wǎng)友評(píng)論