scrapy把数据保存到mongodb
2023-09-14 09:00:32 时间
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数据,可以选择不写
相关文章
- MongoDB简单操作示例【连接、增删改查等】
- MongoDB教程:完整指南(mongodb教程全集)
- MongoDB远程访问的实现方式(mongodb远程访问)
- 取数据MongoDB:如何获取数据(mongodb怎么读)
- MongoDB:实现数据存储的利器(mongodb有什么用)
- MongoDB停止服务:新挑战在前方(mongodb停止服务)
- 数据MongoDB查询导出:简单高效的数据获取方式(mongodb查询导出)
- MongoDB数据导出查询实践(mongodb导出查询)
- 集MongoDB: 副本集为安全保驾护航(mongodb副本)
- MongoDB之表格建构(mongodb建表)
- 库使用MongoDB轻松管理数据库(mongodb数据)
- 如何利用MongoDB实现数据追加?(mongodb追加)
- Mongodb与ES组合,实现数据存储和搜索的双重效益(mongodb和es)
- 【指南】进阶使用 MongoDB,更好地管理数据!(mongodb进阶)
- MongoDB 时间设置:简明指南(mongodb时间设置)
- MongoDB删除子文档的技巧(mongodb删除子文档)
- MongoDB数据模型设计指南(mongodb模式设计)
- MongoDB增量备份 —— 优化存储数据安全性(mongodb增量备份)
- MongoDB入门必学:视频教程引领你开启NoSQL学习之旅(mongodb入门视频)
- 如何在MongoDB中恢复误删除的数据(mongodb恢复数据)
- 利用mongodump工具导出MongoDB数据的快速指南(导出mongodb数据)
- 利用Node.js实现MongoDB数据导出功能(导出mongodb数据)
- 探索MongoDB:存储海量数据的最佳选择(mongodb大数据存储)
- MongoDB开源社区:分享交流数据存储的不二选择(mongodb开源社区)
- Mongodb:实现双向数据同步的利器(mongodb双向同步)
- MongoDB连接配置:轻松入门!(mongodb 连接配置)
- MongoDB中查找大于小于等特殊数据的方法(mongodb大于小于)