python爬虫27 | 当Python遇到MongoDB的时候,存储av女优的数据变得如此顺滑爽~
小帅b 学习python的正确姿势
上次
我们知道了怎么操作 MySQL 数据库
python爬虫26 | 把数据爬取下来之后就存储到你的MySQL数据库。
MySQL 有些年头了
开源又成熟又牛逼
所以现在很多企业都在使用 MySQL
MySQL 是关系型数据库
其实当前主流的数据库
例如
Oracle、DB2、PostgreSQL、Microsoft SQL Server 等等
都是关系型数据库
这样的话
它们可以在数据表之间建立索引、约束
进行关联
让表与表之间产生联系
可以让数据重复利用,不会浪费
相对应的就是
非关系型数据库
NoSQL
它不用传统的 SQL 语句进行操作
而是有自己的独特的数据存储方式
可以说相当方便
NOSQL 的经典代表数据库就是我们今天要说的
MongoDB
由 C++ 写的 文档存储 形式的非关系数据库
如果你对 JSON 有所了解
那么 MongoDB 对你来说so easy
由于它是基于内存对数据进行处理的
所以读写速度相对更高一些
好了
吹了一波 MongoDB 的牛逼之后
接下来小帅b就来跟你说说
怎么玩 MongoDB
接下来就是
学习 python 的正确姿势
我们先来看看这样的数据
name quantity size status tags rating journal 25 14x21,cm A brown, lined 9 notebook 50 8.5x11,in A college-ruled,perforated 8 paper 100 8.5x11,in D watercolor 10 planner 75 22.85x30,cm D 2019 10 postcard 45 10x,cm D double-sided,white 2
(来自 mongodb 官方例子)
有些字段里面包含多个信息
如果按传统的 SQL 的话
查询起来比较麻烦
而且需要创建多张表进行关联
而用文档格式存储的话就可以使用这样的格式表示
{ "name": "notebook", "qty": 50, "rating": [ { "score": 8 }, { "score": 9 } ], "size": { "height": 11, "width": 8.5, "unit": "in" }, "status": "A", "tags": [ "college-ruled", "perforated"] }
是不是很简单咧
那么接下来小帅b就带你使用 python 来操作 MangoDB 吧
真香假设
本文假设你的操作系统已经安装好 MangoDB 了 如果你还没安装的话 可以到以下链接进行下载安装
https://docs.mongodb测试数据/manual/installation/?jmp=footer&_ga=2.246611149.899311115.1556631996-38380112.1556631995
当你安装完之后
启动 mongodb
然后输入 mongo 就可以操作 MongoDB 了
好了好了
我们使用 python 代码来操作一下吧
这次我们需要一个库
Pymongo
from pymongo import MongoClient
连接到你的 MongoDB
conn = MongoClient('mongodb://localhost:27017/')
27017 是你的 MongoDB 的默认端口
创建一个 avIdol 数据库,如果 mongodb 没有会自行创建
db = conn.avIdol 往数据库插入一条数据 db.col.insert({"name": '波多野結衣', 'bwh': '{ "b": 90, "w": 59, "h": 85}' , 'age': 30})
运行一下
没报什么错
接着我们使用
print(db.col.find_one())
来查询一下是否插入数据了
可以看到
数据插入成功
来个批量插入吧
db.col.insert([ {"name": '波多野結衣', 'bwh': '{ "b": 90, "w": 59, "h": 85}' , 'age': 30}, {"name": '吉泽明步', 'bwh': '{ "b": 86, "w": 58, "h": 86}' , 'age': 35}, {"name": '桃乃木香奈', 'bwh': '{ "b": 80, "w": 54, "h": 80}' , 'age': 22}, {"name": '西宫梦', 'bwh': '{ "b": 85, "w": 56, "h": 86}' , 'age': 22}, {"name": '松下纱荣子', 'bwh': '{ "b": 88, "w": 57, "h": 86}' , 'age': 28} ])
这次我们使用 for 循环查询一下数据库
for item in db.col.find(): print(item)
可以看到
数据被我们存储下来了
当然
你也可以通过条件查询
例如根据 id 查询
删除 波多野结衣
db.col.remove({"name": "波多野結衣"})
删除全部
db.col.remove()
把 吉泽明步 换成 苍井空
db.col.update({'name': '吉泽明步'}, {'$set': {'name': '苍井空'}})
ok
以上就是 python 对 MongoDB 的操作
更多关于 MongoDB 的介绍可以到官方看看
https://docs.mongodb测试数据/
以后
小帅b带你玩爬虫项目实战的时候
还会提及 MongoDB 的
期待就好
那么
我们下回见了
peace
查看更多关于python爬虫27 | 当Python遇到MongoDB的时候,存储av女优的数据变得如此顺滑爽~的详细内容...