【爬虫】scrapy下载股票列表(四)——对接mongodb保存数据

本文介绍如何使用Scrapy爬虫下载股票列表,并将数据存储到MongoDB中。通过开启Scrapy中间件,定义数据结构,配置MongoDB连接,确保股票编号作为唯一索引,避免数据重复。完成设置后,运行爬虫,数据将成功导入MongoDB。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是本项目最后一篇,撒花!
前三篇传送门:
【爬虫】scrapy下载股票列表(一)——对接selenium中间件:
https://blog.youkuaiyun.com/yao09605/article/details/94147708
【爬虫】scrapy下载股票列表(二)—— 内容解析及中间件模拟翻页:
https://blog.youkuaiyun.com/yao09605
【爬虫】scrapy下载股票列表(三)—— 设置日志:
https://blog.youkuaiyun.com/yao09605/article/details/94559568

正式开始
上篇完成了翻页工作之后,下面我们就把下载的数据存储到mongodb里面,mongodb是一种面向对象的数据库,每一条文档都是一个字典类型,可以储存复杂的数据结构。
下面这个表格是mongoDB与一般关系型数据库之间的联系和区别,详情见:https://www.runoob.com/mongodb/mongodb-databases-documents-collections.html
在这里插入图片描述
传送门,mongodb的安装和配置:https://www.cnblogs.com/wx1993/p/5187530.html
然后pip install pymongo安装python包
下面开始看代码:
settings.py中加入

MONGO_URI = '127.0.0.1:27017' # 数据库地址
MONGO_DB = 'stock'  # 数据库库名

将pipeline中间件打开

# Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
   
   
    'stock.pipelines.StockPipeline': 300,
}

找到项目下面的items.py
在这里插入图片描述
这里定义你要存进mongodb的结构体

import scrapy


class StockItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    stock_id = scrapy.Field()  # 股票编号
    stock_name = scrapy.Field()  # 股票名称
    last_price = scrapy.Field()  # 最新价格
    increase_percent = scrapy.Field()  # 最新涨幅
    increase_amount = scrapy.Field()  # 最新增长额
    turn_over_hand = scrapy.Field()  # 成交量(手)
    turn_over_amount = scrapy.Field()  # 成交额
    amplitude = scrapy.Field()  # 振幅
    highest = scrapy.Field()  # 最高
    lowest = scrapy.Field()  # 最低
    today_open = scrapy.Field()  # 今开
    yest_close = scrapy.Field()  # 昨收
    quantity_relative_ratio = scrapy.Field()  # 量比
    turn_over_rate = scrapy.Field()  # 换手率
    PE_ratio = scrapy.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值