scrapy自定義pipeline類實現(xiàn)將采集數(shù)據(jù)保存到mongodb的方法
更新時間:2015年04月16日 11:32:19 作者:pythoner
這篇文章主要介紹了scrapy自定義pipeline類實現(xiàn)將采集數(shù)據(jù)保存到mongodb的方法,涉及scrapy采集及操作mongodb數(shù)據(jù)庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了scrapy自定義pipeline類實現(xiàn)將采集數(shù)據(jù)保存到mongodb的方法。分享給大家供大家參考。具體如下:
# Standard Python library imports # 3rd party modules import pymongo from scrapy import log from scrapy.conf import settings from scrapy.exceptions import DropItem class MongoDBPipeline(object): def __init__(self): self.server = settings['MONGODB_SERVER'] self.port = settings['MONGODB_PORT'] self.db = settings['MONGODB_DB'] self.col = settings['MONGODB_COLLECTION'] connection = pymongo.Connection(self.server, self.port) db = connection[self.db] self.collection = db[self.col] def process_item(self, item, spider): err_msg = '' for field, data in item.items(): if not data: err_msg += 'Missing %s of poem from %s\n' % (field, item['url']) if err_msg: raise DropItem(err_msg) self.collection.insert(dict(item)) log.msg('Item written to MongoDB database %s/%s' % (self.db, self.col), level=log.DEBUG, spider=spider) return item
希望本文所述對大家的python程序設(shè)計有所幫助。
相關(guān)文章
Python設(shè)置Socket代理及實現(xiàn)遠程攝像頭控制的例子
這篇文章主要介紹了Python設(shè)置Socket代理及實現(xiàn)遠程攝像頭控制的例子,皆是對socket模塊的實際運用,需要的朋友可以參考下2015-11-11Python科學(xué)計算環(huán)境推薦——Anaconda
最近在用Python做中文自然語言處理。使用的IDE是PyCharm。PyCharm確實是Python開發(fā)之首選,但用于科學(xué)計算方面,還略有欠缺。為此我嘗試過Enthought Canopy,但Canopy感覺把問題搞得復(fù)雜化,管理Python擴展也不太方便。直到今天我發(fā)現(xiàn)了 Anaconda 。2014-06-06python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例
今天小編就為大家分享一篇python基于socket進行端口轉(zhuǎn)發(fā)實現(xiàn)后門隱藏的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python3+Pycharm+PyQt5環(huán)境搭建步驟圖文詳解
這篇文章主要介紹了Python3+Pycharm+PyQt5環(huán)境搭建步驟圖文詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05Python基于lxml模塊解析html獲取頁面內(nèi)所有葉子節(jié)點xpath路徑功能示例
這篇文章主要介紹了Python基于lxml模塊解析html獲取頁面內(nèi)所有葉子節(jié)點xpath路徑功能,結(jié)合實例形式較為詳細的分析了Python使用lxml模塊進行xml節(jié)點數(shù)據(jù)解析的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-05-05