windows10下安装mongodb并且在scrapy中使用Mongodb

环境

  • windows10
  • mogodb可视化工具Robo 3T
  • 教程日期:19年11月19日

具体步骤

STEP - 0

下载及配置mongodb

  • 下载
    地址可能会有变化,这个影响不大,可以直接百度找到mondodb官网的下载位置
    在这里插入图片描述
  • 选择版本,这里我选择了windows,压缩包的形式下载
    下载后直接解压到任意文件夹内
    在这里插入图片描述
  • 这里,我们解压出来的内容是不包含上图圈出来的东西的,后续我会慢慢讲
  • 自行创建数据库数据所在文件夹,这里我给这个文件夹取名data,也就是上图的第一个框框内的文件夹
  • 接下来我们就需要告诉mongodb:它的数据库需要建在data这个文件夹内
  • 进入bin这个文件夹,创建一个txt文件
    在这里插入图片描述
  • ,打开该txt文件,往里面输入mongod --dbpath ../data 意思是,执行当前文件夹内一个叫mongod的可执行文件,并且告诉这个文件,数据库所在文件夹是上级目录的data文件夹
    在这里插入图片描述
  • 保存,并命名为start.txt
    在这里插入图片描述
  • 此时这个start还不能真正执行,需要我们将后缀名改为bat,即start.bat
    在这里插入图片描述
  • 开启mongodb数据库
    试着双击start.bat,这样就打开了mongodb服务了
    开启的时候长这样
    在这里插入图片描述

注意,如果想要使用mongodb服务时,每次都需要打开该文件哦,并且不能将这个框框关掉

开启Robo 3T

请提前下好并安装Robo 3T

此时mongodb服务是打开的,不然后续连接会显示连接失败

并且提前使用该工具创建好一个数据库,这里不做详细描述,只以图片形式展示步骤
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

STEP - 1

以下内容为scrapy+mongodb

  • 这里我们需要在pipelines.py文件进行修改,这里我们要做的是与mongodb数据库建立连接
    需要引入两个东西,如果没有这个库的话,自行安装下(pip install pymongo
import pymongo
from scrapy.conf import settings

process_item这个函数的上方加入__init__函数(这个是可以在process_item函数之前运行的,只能用__init__这个名字)

    def __init__(self):
        host = settings["MONGODB_HOST"]
        port = settings["MONGODB_PORT"]
        dbname = settings["MONGODB_DBNAME"]
        sheetname = settings["MONGODB_SHEETNAME"]
        # 创建MONGODB数据库链接
        client = pymongo.MongoClient(host=host, port=port)
        # 指定数据库
        mydb = client[dbname]
        # 存放数据的数据库表名
        self.post = mydb[sheetname]

然后在管道中,执行插入操作

info = dict[item]
self.post.insert(info)

在这里插入图片描述
以上内容可以直接复制粘贴,但是最好自行理解一下

别忘了,顺手在settings.py打开管道
在这里插入图片描述

注意,因为scrapy的版本变更,在 1.7 版本之后,scrapy.conf 就被移除了,1.7 以后的版本里,应该这样使用 settings.py 中的配置

# from scrapy.conf import settings
from scrapy.utils.project import get_project_settings
    def __init__(self):
        # 添加
        settings = get_project_settings()
        host = settings["MONGODB_HOST"]
        port = settings["MONGODB_PORT"]
        dbname = settings["MONGODB_DBNAME"]
        sheetname = settings["MONGODB_SHEETNAME"]
        # 创建MONGODB数据库链接
        client = pymongo.MongoClient(host=host, port=port)
        # 指定数据库
        mydb = client[dbname]
        # 存放数据的数据库表名
        self.post = mydb[sheetname]

STEP - 2

  • 这里我们需要修改settings.py文件
# MONGODB 主机名
MONGODB_HOST = "127.0.0.1"
# MONGODB 端口号
MONGODB_PORT = 27017
# 数据库名称,这一项名称可以自定义
MONGODB_DBNAME = "test_name"
# 存放数据的表名称,这一项名称也可以自定义
MONGODB_SHEETNAME = "form_name"

以上内容可以直接在文件中找一块儿空的地方就行了
在这里插入图片描述

STEP - 3

运行我们的爬虫,爬虫代码是我在网上随便找的一个,用来爬取豆瓣电影的
这里我们再打开Robo 3T
发现好像没什么变化
这时候我们需要刷新一下,像这样
在这里插入图片描述
然后发现多了个东西
在这里插入图片描述
打开后你会发现这里面正好使我们设置的数据库名字,表格名字
打开这个表格,并且把它完全呈现出来
在这里插入图片描述
搞定!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值