Scrapy+Mongodb爬取数据

当我们做数据分析的时候,一般都需要大量的数据,而这些数据从哪里来的呢?爬虫爬去过来的,我们通常把这些数据存储在csv或者excel的文件当中,一方面数据看起来比较直观,Excel方便做数据提取、分析。
但是通常情况下我们是存储在数据库中,说说Scrapy数据存储到mongodb中。
Scrapy爬虫数据存到mongodb中比较简单。

1、在settings.py中进行配置

启用一个Item Pipeline组件

ITEM_PIPELINES = {
'jianshu.pipelines.JianshuPipeline': 10,
}

连接数据库的信息,存到mydb的articles数据集中

MONGODB_HOST='127.0.0.1'
MONGODB_PORT=27017
MONGODB_DBNAME='mydb'
MONGODB_DOCNAME='articles'

2、修改pipeline文件
首先初始化获得settings中的mongodb数据库信息,在process_item提交插入数据。

class JianshuPipeline(object):

def __init__(self):
    host = settings['MONGODB_HOST']
    port = settings['MONGODB_PORT']
    dbName = settings['MONGODB_DBNAME']
    client = pymongo.MongoClient(host=host, port=port)
    tdb = client[dbName]
    self.post = tdb[settings['MONGODB_DOCNAME']]

def process_item(self, item, spider):
    article = dict(item)
    self.post.insert(article)
    return item

文章的来源出处:https://www.jianshu.com/p/30408d8ad1c0

你可能感兴趣的:(Scrapy+Mongodb爬取数据)