当前位置:首页>python>Python爬虫必备:数据存储MongoDB

Python爬虫必备:数据存储MongoDB

  • 2026-10-11 05:53:38
Python爬虫必备:数据存储MongoDB

⚠️ 重要提示:数据量超过1000条?CSV文件撑不住了?这篇文章就是你的救星!

🤔 做爬虫的小伙伴们,当数据量越来越大时,CSV文件已经无法满足需求了!今天给大家分享一个更强大的数据存储方式—— MongoDB数据库存储,灵活高效,适合海量数据!

🌟 一、什么是MongoDB?

MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组。

💡 小贴士:MongoDB是NoSQL数据库的代表,数据以JSON格式存储,非常适合爬虫数据的灵活存储需求!

🎯 为什么选择MongoDB?

✅ 灵活存储:字段可随时添加,无需修改表结构
✅ 海量数据:轻松处理百万级数据,性能稳定
✅ 简单易用:Python操作简单,几行代码搞定
✅ 分布式:支持分布式存储,扩展性强

� 二、MongoDB常用命令(必背!)

📌 5条核心命令,新手必会

1️⃣ 查询数据库: show dbs

2️⃣ 使用数据库: use 库名

3️⃣ 查看集合: show tables/show collections

4️⃣ 查询表数据: db.集合名.find()

5️⃣ 删除表: db.集合名.drop()

🔥 三、Python连接MongoDB实战

步骤1:连接MongoDB数据库

连接MongoDB时,我们需要使用PyMongo库里面的MongoClient。一般来说,传入MongoDB的IP及端口即可。

import pymongo

# 如果是云服务的数据库 用公网IP连接

client = pymongo.MongoClient(host='localhost', port=27017)

⚠️ 注意事项:默认端口是27017,云服务数据库需要用公网IP连接!

步骤2:指定数据库与集合

import pymongo

client = pymongo.MongoClient(host='localhost', port=27017)

collection = client['spider_test']

🎯 四、插入数据实战(核心代码)

插入单条数据

import pymongo

mongo_client = pymongo.MongoClient(host='localhost', port=27017)

collection = mongo_client['spider_test']['info']

# 插入单条数据

info = {'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}

result = collection.insert_one(info)

print(result)

💡 代码解析:insert_one()方法插入单条数据,返回InsertOneResult对象。

插入多条数据(爬虫必备!)

import pymongo

mongo_client = pymongo.MongoClient(host='localhost', port=27017)

collection = mongo_client['spider_test']['info']

# 插入多条数据

info_1 = {'id': '20170101', 'name': 'Jordan', 'age': 20, 'gender': 'male'}

info_2 = {'id': '20170202', 'name': 'Mike', 'age': 21, 'gender': 'male'}

result = collection.insert_many([info_1, info_2])

print(result)

⭐ 重点:爬虫场景下,推荐使用insert_many()批量插入,效率更高!

🚨 五、新手常见问题(FAQ)

❓ Q1:没有安装pymongo库怎么办?
✅ 解决:pip install pymongo
❓ Q2:连接失败怎么办?
✅ 解决:检查MongoDB服务是否启动,或使用云服务数据库。
❓ Q3:数据库不存在怎么办?
✅ 解决:MongoDB会自动创建,无需手动建库建表!

六、总结与对比

🎯 CSV vs MongoDB对比

CSV文件:适合小数据量(<1000条),简单易用

MongoDB:适合大数据量(1000+条),灵活高效

✅ 今日收获

✅ MongoDB特点:非关系型数据库,JSON格式存储
✅ 连接方式:pymongo.MongoClient(host, port)
✅ 插入数据:insert_one单条,insert_many多条
✅ 适用场景:海量数据、灵活字段、分布式存储

🎉 觉得有用?点赞+收藏+转发!

关注我,每天分享Python爬虫干货!

最新文章

随机文章