scrapy+redis mongo存储

​ 分布式 item 数据存在 redis 中。使用以上代码将 redis 中的 item 结果数据存入 mongo 数据库中。代码测试可用,具体细节部分需要与个人开发环境有关,请自行调整。

import redis,pymongo,json

# redis 配置项(请自行替换)
redis_url = '10.15.112.21'
redis_port = 6379
redis_db = 2
redis_passwd = 'a11112222'

# mongo 配置项(请自行替换)
mongo_url = '192.168.12.140'
mongo_port = 27017
mongo_dbname = 'dbname'
mongo_table = 'tablename'
mongo_user = 'username'
mongo_passwd = 'password'



def process_item():
    redis_cli = redis.StrictRedis(host=redis_url, port=redis_port, db=redis_db, password=redis_passwd)
    mongo_cli = pymongo.MongoClient(host=mongo_url, port=mongo_port, username=mongo_user, password=mongo_passwd)
    mongo_DB = mongo_cli[mongo_dbname]
    mongo_TB = mongo_DB[mongo_table]
    while True:
        try:
            source, data_json = redis_cli.blpop('wanbiao:items')
            # 
            data = json.loads(data_json.decode('utf-8'))
        except:
            print('redis 获取数据失败')
            break
        try:
            mongo_TB.insert(data)
        except:
            print('mongo插入失败')
            break
        
        
if __name__ == '__main__':
    process_item()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值