scrapy与mongodb数据库

本文介绍了如何在Windows上安装和配置MongoDB服务,包括创建数据库文件夹、启动服务和设置环境变量。接着讲解了如何在Scrapy中使用MongoDB存储爬取的数据,提到了在pipeline.py中处理数据的步骤,并简单概述了Python中使用pymongo库与MongoDB交互的基本操作,如建立连接、插入和查询文档。
摘要由CSDN通过智能技术生成
安装mongodb

软件的下载:
http://dl.mongodb.org/dl/win32/x86_64
选择适合自己电脑的版本进行下载,建议3.4版本
下载之后傻瓜式安装,可以自定义安装位置。

开启数据库

因为启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。

  1. 在3.4文件夹下,新建data文件夹,在data文件下新建db文件夹
    在这里插入图片描述
  2. 指定db目录并启动服务
    在命令行窗口中,首先来到MongoDB安装路径下的bin目录,然后输入命令:mongod --dbpath D:\MongoDB\Server\3.4\data\db即可启动MongoDB数据库。
    在这里插入图片描述
  3. 在浏览器中查看数据库是否连接成功
    在浏览器输入http://localhost:27017 (27017是mongodb的端口号)查看,若显示下图:
    在这里插入图片描述

则表示连接成功。如果不成功,可以查看端口是否被占用。
当然,我们也可以新打开一个命令行窗口进行数据库操作,如下图所示。(注:当前启动的数据库窗口不要关闭)
进入MongoDB的bin目录下输入mongo即可进入数据库内。
在这里插入图片描述

配置本地windows mongodb 服务

每次想要使用MongoDB的时候都要进入bin目录先开启服务再运行MongoDB,这样比较麻烦,可以保持MongoDB服务常开以及将mongo加入到环境变量中,可以在任何位置打开MongoDB。
具体过程如下,很简单
1.先在data文件下创建一个新文件夹log(用来存放日志文件)
2.在Mongodb新建配置文件mongo.config用记事本打开mongo.config文件,然后输入

    • 0
      点赞
    • 7
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    下面是一个使用 ScrapyMongoDB 的简单示例,它将爬取豆瓣电影 Top 250 的数据并存储到 MongoDB 数据库中: 1. 安装 Scrapy 和 pymongo: ``` pip install scrapy pymongo ``` 2. 创建 Scrapy 项目: ``` scrapy startproject douban ``` 3. 在 `settings.py` 文件中配置 MongoDB: ``` MONGODB_HOST = 'localhost' MONGODB_PORT = 27017 MONGODB_DBNAME = 'douban' MONGODB_COLLECTION = 'movies' ``` 4. 创建一个名为 `items.py` 的文件,定义要爬取的数据字段: ``` import scrapy class DoubanItem(scrapy.Item): title = scrapy.Field() rating = scrapy.Field() director = scrapy.Field() actors = scrapy.Field() year = scrapy.Field() country = scrapy.Field() category = scrapy.Field() ``` 5. 创建一个名为 `douban_spider.py` 的文件,定义爬虫: ``` import scrapy from douban.items import DoubanItem from scrapy.spiders import CrawlSpider, Rule from scrapy.linkextractors import LinkExtractor class DoubanSpider(CrawlSpider): name = 'douban' allowed_domains = ['movie.douban.com'] start_urls = ['https://movie.douban.com/top250'] rules = ( Rule(LinkExtractor(allow=('subject/\d+/$')), callback='parse_item'), Rule(LinkExtractor(allow=('top250\?start=\d+')), follow=True) ) def parse_item(self, response): item = DoubanItem() item['title'] = response.css('h1 span::text').get() item['rating'] = response.css('strong.rating_num::text').get() item['director'] = response.css('a[rel="v:directedBy"]::text').get() item['actors'] = response.css('a[rel="v:starring"]::text').getall() item['year'] = response.css('span.year::text').get() item['country'] = response.css('span[property="v:initialReleaseDate"]::text').re_first(r'(\S+)\s+\(\S+\)') item['category'] = response.css('span[property="v:genre"]::text').getall() yield item ``` 6. 运行爬虫: ``` scrapy crawl douban ``` 7. 在 MongoDB 中查看数据: ``` > use douban > db.movies.find().pretty() ```

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值