如何有效的推广网站,wordpress 2013,美食app界面设计模板,用html制作淘宝网页网络爬虫—MongoDB详讲与实战MongoDBMongoDB安装创建数据目录1.数据库操作2.集合操作3.文档操作4.索引操作5.聚合操作6.备份与恢复MongoDB增删改查mongodb集合的增删改查数据插入到表数据的查看删除数据更新数据PyMongo连接数据库第二步 选择需要使用的数据库和集合PyMongo增删…
网络爬虫—MongoDB详讲与实战MongoDBMongoDB安装创建数据目录1.数据库操作2.集合操作3.文档操作4.索引操作5.聚合操作6.备份与恢复MongoDB增删改查mongodb集合的增删改查数据插入到表数据的查看删除数据更新数据PyMongo连接数据库第二步 选择需要使用的数据库和集合PyMongo增删改查实战某电影top250排名获取并写入MongoDB数据获取写入MongoDB前言 ️️个人简介以山河作礼。 ️️:Python领域新星创作者CSDN实力新星认证 第一篇文章《1.认识网络爬虫》获得全站热榜第一python领域热榜第一。 第四篇文章《4.网络爬虫—Post请求(实战演示)》全站热榜第八。 第八篇文章《8.网络爬虫—正则表达式RE实战》全站热榜第十二。 《Python网络爬虫》专栏累计发表九篇文章上榜三篇。欢迎免费订阅欢迎大家一起学习一起成长 悲索之人烈焰加身堕落者不可饶恕。永恒燃烧的羽翼带我脱离凡间的沉沦。 MongoDB
MongoDB是一种开源的文档型数据库管理系统采用分布式文件存储方式可以存储非结构化的数据如文档和键值对等。
它的特点是高性能、高可扩展性、高可用性和易于使用可以支持复杂的查询和数据分析同时还提供了数据复制、故障转移和自动分片等功能可以应用于多种场景如Web应用、大数据、物联网等。 MongoDB使用BSONBinary JSON格式来存储数据支持多种编程语言的驱动程序如Java、Python、Ruby、PHP等。
MongoDB安装
MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包你可以从MongoDB官网下载安装MongoDB 预编译二进制包下载地址 MongoDB
MongoDB for Windows 64-bit 适合 64 位的 Windows Server 2008 R2, Windows 7 , 及最新版本的 Window 系统。MongoDB for Windows 32-bit 适合 32 位的 Window 系统及最新的 Windows Vista。 32 位系统上 MongoDB 的数据库最大为 2GB。MongoDB for Windows 64-bit Legacy 适合 64 位的 Windows Vista, Windows Server 2003, 及 Windows Server 2008 。
下载 .msi 文件下载后双击该文件按操作提示安装即可。 安装过程中你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。 创建数据目录
MongoDB 将数据目录存储在 db 目录下。但是这个数据目录不会主动创建我们在安装完成后需要创建它。请注意数据目录应该放在根目录下 (如 C:\ 或者 D:\ 等 )。 比如我这里安装在了D盘那就在D盘创建一个data文件夹进入文件夹创建db文件夹。 命令行下运行 MongoDB 服务器 为了从命令提示符下运行 MongoDB 服务器你必须从 MongoDB 目录的 bin 目录中执行 mongod.exe 文件。
D:\Mongodb\bin\mongod --dbpath D:\data\db如果执行成功会输出如下信息
有27017就代表成功 连接mongodb 有就说明成功了
1.数据库操作
创建数据库use datadb 查看当前数据库db 查看所有数据库show dbs 删除数据库db.dropDatabase()
2.集合操作 创建集合db.createCollection(collection_name) 查看集合show collections 删除集合db.collection_name.drop()
3.文档操作
插入文档db.collection_name.insert(document)将一个文档插入到指定的集合(collection)中。查询文档db.collection_name.find(query, projection)使用db.collection_name.find()方法查询符合条件的文档。其中query参数指定查询条件projection参数指定返回的文档中包含哪些字段。更新文档db.collection_name.update(query, update, options)使用db.collection_name.update()方法更新符合条件的文档。其中query参数指定查询条件update参数指定更新的内容options参数指定更新选项如是否只更新第一个匹配的文档。删除文档db.collection_name.remove(query, justOne)使用db.collection_name.remove()方法删除符合条件的文档。其中query参数指定查询条件justOne参数指定是否只删除第一个匹配的文档。
4.索引操作
创建索引db.collection_name.createIndex(keys, options)使用db.collection_name.createIndex()方法创建索引。其中keys参数指定需要创建索引的字段options参数指定索引的一些选项如索引类型、索引名称等。查看索引db.collection_name.getIndexes()使用db.collection_name.getIndexes()方法可以查看指定集合中的所有索引。删除索引db.collection_name.dropIndex(index)用db.collection_name.dropIndex()方法删除指定集合中的索引。其中index参数指定需要删除的索引的名称。注意删除索引可能会影响查询性能应该谨慎使用。
5.聚合操作
聚合文档db.collection_name.aggregate(pipeline) 使用db.collection_name.aggregate()方法对指定集合中的文档进行聚合操作。其中pipeline参数是一个数组包含了一系列聚合操作的步骤。每个步骤都是一个文档包含了一个操作符和对应的参数。 聚合操作的步骤可以包括以下几种 $match筛选符合条件的文档 $group按照指定的字段进行分组可以对每个组进行计算 $sort对文档进行排序 $limit限制返回的文档数量 $project指定返回的文档中包含哪些字段可以对字段进行修改或计算 $unwind将数组类型的字段展开成多个文档。 聚合操作可以根据实际需求进行组合以实现复杂的数据处理任务。
6.备份与恢复
备份数据库mongodump -d database_name -o backup_folder使用mongodump命令可以备份指定数据库。其中-d参数指定要备份的数据库名称-o参数指定备份文件存放的目录。恢复数据库mongorestore -d database_name backup_folder使用mongorestore命令可以恢复备份的数据库。其中-d参数指定要恢复到的数据库名称后面跟着备份文件所在的目录即可。备份和恢复操作需要谨慎处理因为错误的操作可能会导致数据丢失或不完整。因此在进行备份和恢复操作之前应该先进行数据备份和测试确保数据的安全性和可靠性。
MongoDB增删改查
mongodb集合的增删改查
数据插入到表
插入演示 db.col_name.insert(dict_data) 插入实例 db.book.insert({name:小明,age:20,gender:男}) 其中‘name’、age’和’gender’是文档的字段名‘小明’、20和’男’是对应的字段值。通过这个操作我们成功向book集合中插入了一条文档。
数据的查看
输出演示
db.col_name.find({key1:value1, key2:value2}).pretty() 普通输出获取所有数据 db.book.find() 美化输出 db.book.find().pretty()
删除数据
删除数据 db.col_name.remove({key1:value1}) 删除实例
db.book.remove({name:小明})
更新数据
只对一条满足要求的数据进行操作 db.col.update({title:MongoDB data},{$set:{title:MongoDB}}) db.book.update({name:小明},{$set:{age:18}}) 对所有满足要求的数据进行操作 db.col.update({title:MongoDB data},{$set:{title:MongoDB}},{multi:true}) db.book.update({name:小明},{$set:{age:22}},{multi:true})
PyMongo
在终端输入代码安装
pip install pymongo连接数据库
mongo pymongo.MongoClient() # localhost, 27017mongo pymongo.MongoClient() 这行代码中mongo是一个MongoDB客户端对象可以用来连接MongoDB数据库执行数据库操作等。如果MongoDB服务运行在其他主机上可以通过传递参数来指定主机名和端口号如
mongo pymongo.MongoClient(mongodb://hostname:port)其中为MongoDB服务所在主机的IP地址或者主机名为MongoDB服务所监听的端口号。
第二步 选择需要使用的数据库和集合
选择数据库
# 选择数据库
db mongo.test
# print(db)使用 mongo 连接MongoDB数据库中的 test 数据库返回一个 test 数据库对象用于执行数据库操作。如果 test 数据库不存在则会在MongoDB中创建一个名为 test 的数据库。 选择集合
col db.book # 选择集合
# print(col)在 test 数据库中选择了一个名为 book 的集合返回一个 book 集合对象用于执行集合操作。如果 book 集合不存在则会在 test 数据库中创建一个名为 book 的集合。 PyMongo增删改查
查找数据
print(list(col.find()))
print(list(col.find_one())) # 返回数据的key增加一条数据
data_dict {name: 小雨, age: 20, gender: 男}
col.insert_one(data_dict)增加多条数据
data_dict [{name: 小雨, age: 20, gender: 男},{name: 小芳, age: 19, gender: 女}]
col.insert_many(data_dict)
删除一条数据 只对一条数据生效
col.delete_one({name: 小明})
删除所有满足要求的数据 对所有数据生效
col.delete_many({name: 小明})更新数据 只对一条数据生效
col.update_one({name: 小雨}, {$set: {age: 22}})更新数据 对所有数据生效
col.update_many({name: 小雨}, {$set: {age: 22}})实战
某电影top250排名获取并写入MongoDB
分两部分,第一部分获取数据第二部分将数据写入MongoDB
数据获取
前面我们讲解了很多获取数据的方法我们今天就不在这里作过多的展示博主这里使用的是xpath进行解析数据如果有什么疑问可以阅读博主之前的文章帮助理解和学习。《5.网络爬虫——Xpath解析》
直接查看结果 我们本次目的是获取电影top250的电影名字评分评价人数和简介。数据较多仅展示部分 写入MongoDB
连接数据库
mongo pymongo.MongoClient() # 连接数据库
print(mongo)
连接成功
选择数据库 我们先来查看一下有那些数据库 开始写代码选择我们的数据库
db mongo.datadb
print(db) 选择集合
col db.book
print(col)4.插入数据 把刚才获取的数据插入到mongodb中。 data_dict {name: name, score: score, number: number, introdu: introdu}# 插入数据col.insert_one(data_dict)time.sleep(1) # 睡眠1秒防止过快请求被封IP
print(数据写入完成)5.查看数据
results col.find()
for result in results:print(result)仅展示部分数据数据太长了。正确来说一个有250条数据在里面。 写在最后 本专栏所有文章是博主学习笔记仅供学习使用爬虫只是一种技术希望学习过的人能正确使用它。博主也会定时一周三更爬虫相关技术更大家系统学习如有问题可以私信我没有回那我可能在上课或者睡觉写作不易感谢大家的支持