python爬虫27 | 当Python遇到MongoDB的时候,存储av女优的数据变得如此顺滑爽~

半世苍凉 提交于 2020-05-07 23:17:37

 

上次

 

我们知道了怎么操作 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.com/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.com/

 

以后

 

小帅b带你玩爬虫项目实战的时候

 

还会提及 MongoDB 的

 

期待就好

 

那么

 

我们下回见了

 

peace

 

 

记得素质三连!!!!!!!!!!!!!!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!