scrapy 使用pipeline写入数据到mongoDB

本文介绍了如何利用Scrapy的Item pipeline将爬取的数据存储到MongoDB数据库中,包括在setting.py中配置,以及在pipeline.py中定义MongoDBPipline类,详细阐述了open_spider和close_spider方法的使用,用于建立和关闭数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述

Item在Spider中被收集后,会传入Item pipeline中进行处理。Item pipeline当中的类负责接收Item,并对item执行一些操作(清理,丢弃,验证,去重,存数据库等)。

在setting.py文件中进行配置

# mongodb数据库相关连接
MONGO_DB_URI = '127.0.0.1'
MONGO_DB_PORT = 27017
MONGO_DB_NAME = 'doubanDetail'
# Configure item pipelines
ITEM_PIPELINES = {
    'douban.pipelines.MongoDBPipleline': 300,
}

在pipeline.py文件中创建类MongoDBPipleline

from douban.items import DoubanItem
import pymongo

class DoubanPipeline(object):
    def process_item(self, item, spider):
        return item

class MongoDBPipleline(object):
    """将item写入MongoDB"""
    def __init__(self):
        """获取mongoDB的连接,获取数据库doubanDetail,获取集合newBookDetail"""
        client = pymongo.MongoClient('localhost', 27017)
        db = client.doubanDetail
        self.newBookDetail = db.newBookDetail
    @classmethod
    def from_crawler(cls, crawler):
        cls.DB_URL = crawle
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值