scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
作者:pythoner 时间:2021-03-20 02:55:59
本文实例讲述了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程序设计有所帮助。
标签:scrapy,采集,mongodb
0
投稿
猜你喜欢
Mysql性能优化案例研究-覆盖索引和SQL_NO_CACHE
2024-01-25 12:58:00
python3结合openpyxl库实现excel操作的实例代码
2021-02-24 05:06:59
如何测试字符串的长度?
2009-11-11 20:02:00
Python下使用Trackbar实现绘图板
2023-12-11 10:13:04
asp 防盗链代码(彻底屏蔽迅雷,旋风,快车下载站内资源)
2011-02-26 10:46:00
python自动化测试用例全对偶组合与全覆盖组合比较
2021-02-03 01:59:45
python matplotlib中文显示参数设置解析
2022-11-18 14:11:41
web.py获取上传文件名的正确方法
2021-01-22 16:00:06
如何用变量实现群聊和悄悄话?
2010-05-19 21:33:00
Python OpenCV超详细讲解透视变换的实现
2021-08-02 21:19:48
巧用Dreamweaver MX控制页面元素
2009-09-13 18:38:00
Python爬虫之正则表达式基本用法实例分析
2022-12-20 17:02:16
解决python3捕获cx_oracle抛出的异常错误问题
2023-01-21 17:51:26
未将对象引用设置到对象的实例 (System.NullReferenceException)
2023-06-27 10:46:53
理解 SQL Server 中系统表Sysobjects
2009-01-20 15:13:00
js正则表达式验证密码强度【推荐】
2024-04-29 13:39:30
python如何获得list或numpy数组中最大元素对应的索引
2021-02-10 11:30:12
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2023-02-15 16:49:10
为什么首页最后设计
2009-07-17 19:03:00
Vim中查找替换及正则表达式的使用详解
2023-11-06 11:42:44