程序笔记   发布时间:2022-07-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了scrapy把数据保存到mongodb大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

scrapy数据存进mongodb

第一步,setTings.py添加

ITEM_PIPELInes = {
   # 'scrapy_runklist.pipelines.ScrapyRunklistPipeline': 300,
   'scrapy_runklist.pipelines.ScrapyWeiBoPipeline': 300,
}

# mongodb配置
MONGO_HOST = "127.0.0.1"  # 主机IP
MONGO_PORT = 27017  # 端口号
MONGO_DB = "ranklist"  # 库名
MONGO_COLL_WEIBO = "weibo"  # collection名
# MONGO_USER = "simple" #用户名
# MONGO_PSW = "test" #用户密码

第二步,item.py添加

class WeiboItem(scrapy.Item):
    id = scrapy.Field()
    word = scrapy.Field()
    url = scrapy.Field()

第三步,spider.py添加

    def parse(self, responsE):
        json_data = response.json()
        num = 0
        for i in json_data["data"]["realtime"]:
            weiboItem = WeiboItem()
            if num == 10:
                break
            weiboItem["id"] = num
            weiboItem["word"] = I["word"]
            url = "https://s.weibo.com/weibo?q=%23{}%23".format(I["word"])
            weiboItem["url"] = url
            num += 1
            yield weiboItem

第四步,pipline.py添加

import pymongo
from scrapy.utils.project import get_project_setTings
setTings = get_project_setTings()

class ScrapyWeiBoPipeline:

    def __init__(self):
        # 链接数据库
        client = pymongo.MongoClient(host=setTings['MONGO_HOST'], port=setTings['MONGO_PORT'])
        self.db = client[setTings['MONGO_DB']]  # 获得数据库的句柄
        self.coll = self.db[setTings['MONGO_COLL_WEIBO']]  # 获得collection的句柄
        # 数据库登录需要帐号密码的话
        # self.db.authenticate(setTings['MONGO_USER'], setTings['MONGO_PSW'])

    def process_item(self, item, spider):
        print("pipline item ==== ", item)
        postItem = Dict(item)  # 把item转化成字典形式
        self.coll.insert(postItem)  # 向数据库插入一条记录
        return item  # 会在控制台输出原item数据,可以选择不写

大佬总结

以上是大佬教程为你收集整理的scrapy把数据保存到mongodb全部内容,希望文章能够帮你解决scrapy把数据保存到mongodb所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。