⚠️ 重要提示:数据量超过1000条?CSV文件撑不住了?这篇文章就是你的救星!
🤔 做爬虫的小伙伴们,当数据量越来越大时,CSV文件已经无法满足需求了!今天给大家分享一个更强大的数据存储方式—— MongoDB数据库存储,灵活高效,适合海量数据!
🌟 一、什么是MongoDB?
MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组。
💡 小贴士:MongoDB是NoSQL数据库的代表,数据以JSON格式存储,非常适合爬虫数据的灵活存储需求!� 二、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爬虫干货!