scrapy自定義pipeline類實現將采集數據保存到mongodb的方法
更新時間:2015年04月16日 11:32:19 作者:pythoner
這篇文章主要介紹了scrapy自定義pipeline類實現將采集數據保存到mongodb的方法,涉及scrapy采集及操作mongodb數據庫的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了scrapy自定義pipeline類實現將采集數據保存到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程序設計有所幫助。
相關文章
Python科學計算環(huán)境推薦——Anaconda
最近在用Python做中文自然語言處理。使用的IDE是PyCharm。PyCharm確實是Python開發(fā)之首選,但用于科學計算方面,還略有欠缺。為此我嘗試過Enthought Canopy,但Canopy感覺把問題搞得復雜化,管理Python擴展也不太方便。直到今天我發(fā)現了 Anaconda 。2014-06-06
python基于socket進行端口轉發(fā)實現后門隱藏的示例
今天小編就為大家分享一篇python基于socket進行端口轉發(fā)實現后門隱藏的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python3+Pycharm+PyQt5環(huán)境搭建步驟圖文詳解
這篇文章主要介紹了Python3+Pycharm+PyQt5環(huán)境搭建步驟圖文詳解,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
Python基于lxml模塊解析html獲取頁面內所有葉子節(jié)點xpath路徑功能示例
這篇文章主要介紹了Python基于lxml模塊解析html獲取頁面內所有葉子節(jié)點xpath路徑功能,結合實例形式較為詳細的分析了Python使用lxml模塊進行xml節(jié)點數據解析的相關操作技巧與注意事項,需要的朋友可以參考下2018-05-05

