zoukankan      html  css  js  c++  java
  • 数据存储 mongodb

    数据存储 mongodb

     1 from pymongo import MongoClient
     2 import os
     3 base_dir = os.getcwd()
     4 class MongoPipeline(object):
     5     # 实现保存到mongo数据库的类,
     6     collection = 'douban'  # mongo 数据库的 collection 名字
     7 
     8     def __init__(self, mongo_uri, db_name, db_user, db_pass):
     9         self.mongo_uri = mongo_uri
    10         self.db_name = db_name
    11         self.db_user = db_user
    12         self.db_pass = db_pass
    13 
    14     @classmethod
    15     def from_crawler(cls, crawler):
    16         # scrapy 为我们访问settings提供了这样的一个方法,这里,
    17         # 我们需要从 settings.py 文件中,取得数据库的URI和数据库名称
    18         return cls(
    19             mongo_uri=crawler.settings.get('MONGO_URI'),
    20             db_name=crawler.settings.get('DB_NAME'),
    21             db_user=crawler.settings.get('DB_USER'),
    22             db_pass=crawler.settings.get('DB_PASS'))
    23 
    24     def open_spider(self, spider):  # 爬虫启动时调用,连接到数据库
    25         self.client = MongoClient(self.mongo_uri)
    26         self.zfdb = self.client[self.db_name]
    27         self.zfdb.authenticate(self.db_user, self.db_pass)
    28 
    29     def close_spider(self, spider):  # 爬虫关闭时调用,关闭数据库连接
    30         self.client.close()
    31 
    32     def process_item(self, item, spider):
    33         self.zfdb[self.collection].insert({"title": item["title"].strip()})
    34         return item
    存储 MongoDB
  • 相关阅读:
    读 《异类》- 作者:[加拿大] 马尔科姆·格拉德威尔 有感
    docker常用操作命令
    MySQL 使用规范
    js 字符串转json对象
    Mybatis 工作原理
    JDBC连接配置
    Java 线程基础
    数组与链表
    Java 内部类
    MySQL 去重
  • 原文地址:https://www.cnblogs.com/guozepingboke/p/10794711.html
Copyright © 2011-2022 走看看