大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。

人生苦短 我用Python

扩大
缩小

数据存储 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

 

posted on 2019-04-30 10:51  GuoZeping  阅读(172)  评论(0编辑  收藏  举报

导航