python学习心得(五):mongodb数据库使用

任何爬虫爬取的数据都需要存储,除了使用pandas和csv模块存为本地文件,也可以用数据库完成存储。

根据橡皮擦老师的例子,mongodb数据库存储数据,对应的python模块是pymongo
使用例子,在scrapy框架下,一个典型的pipeline.py文件如下
使用前期,操作本地数据库,数据库是自启动的,并且已经建立了一个db,名称为sun,建立了用户/密码:dba/dba

import time
import pymongo
DATABASE_IP = '127.0.0.1'
DATABSSE_NAME = 'sun'
DATABASE_PORT = 27017
client = pymongo.MongoClient(DATABASE_IP,DATABASE_PORT) #连接数据库
db = client.sun #获取数据库
db.authenticate("dba", "dba") #登录鉴权
collection = db.cloudwork #生成存储表单

class CloudworkPipeline(object):
    def process_item(self, item, spider):
        try:
            #scrapy的存储很简单,就是直接将爬虫返回的item写入表单即可
            collection.insert(item)
         except Exception as e:
            print(e.args)

使用数据库工具查看该数据库内容,我用的是navicat(for mongodb)
navicat示例也可以点击分析查看分析图表,比如分析period,可以看到工期分布的柱状图
在这里插入图片描述如果要在代码里取用数据库,同样的流程

# 先连接数据库
client = pymongo.MongoClient("localhost",27017)
db = client.sun
db.authenticate("dba", "dba")
collection = db.cloudwork

# 加载数据,data就是collection表单
data = DataFrame(list(collection.find()))

# 再通过data取出表的某一列操作
views = data["views_count"]

猜你喜欢

转载自blog.csdn.net/weixin_40983190/article/details/88732235