当我们做数据分析的时候,一般都需要大量的数据,而这些数据从哪里来的呢?爬虫爬去过来的,我们通常把这些数据存储在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
网友评论