上次

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

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

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

  1. python爬虫-基础入门-python爬虫突破封锁

    python爬虫-基础入门-python爬虫突破封锁 >> 相关概念 >> request概念:是从客户端向服务器发出请求,包括用户提交的信息及客户端的一些信息.客户端可通过H ...

  2. Python爬虫学习==>第二章:MongoDB环境配置

    学习目的: MongoDB的安装 正式步骤 (VMWare 虚拟机上无法安装这个MongoDB的自启动服务,如果你能办到,请多赐教) Step1:MongoDB的简介 MongoDB是一个基于分布式文 ...

  3. python爬虫成长之路(一):抓取证券之星的股票数据

    获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为python3.5,意在抓取证券之星上当天所 ...

  4. python爬虫---->github上python的项目

    这里面通过爬虫github上的一些start比较高的python项目来学习一下BeautifulSoup和pymysql的使用.我一直以为山是水的故事,云是风的故事,你是我的故事,可是却不知道,我是不 ...

  5. 【python爬虫】用python编写LOL战绩查询

    介绍一个简单的python爬虫,通过Tkinter创建一个客户端,当输入要查询的LOL用户名称的时候,可以显示出当前用户的所在服务器,当前战力和当前段位. 爬取网页地址:http://lol.duow ...

  6. python爬虫——拉钩网python岗位信息

    之前爬取的网页都是采用"GET"方法,这次爬取"拉勾网"是采取了"POST"的方法.其中,"GET"和"POS ...

  7. 简单python爬虫编写,Python采集妹子图!

    疫情期间在家闲来无事,每天打游戏荒废了一段时间.我觉得自己不能在这么颓废下去,就立马起身写了一点python代码(本人只是python新手). 很多人学习python,不知道从何学起.很多人学习pyt ...

  8. Python爬虫学习:Python内置的爬虫模块urllib库

    urllib库 urllib库是Python中一个最基本的网络请求的库.它可以模拟浏览器的行为发送请求(都是这样),从而获取返回的数据 urllib.request 在Python3的urllib库当 ...

  9. Python爬虫抓取 python tutorial中文版,保存为word

    看到了中文版的python tutorial,发现是网页版的,刚好最近在学习爬虫,想着不如抓取到本地 首先是网页的内容 查看网页源码后发现可以使用BeautifulSoup来获取文档的标题和内容,并保 ...

随机推荐

  1. HTTP权威指南阅读记录 - 第一章

    最近终于开始看<HTTP权威指南>了,第一章主要是简介一些基本的概念.下面列出一些常用,但还不是很了解的简单概念. 一.常见概念: 1.媒体类型 因特网上有数千种不同的数据类型,HTTP仔 ...

  2. 【Beijing 2010】 次小生成树

    [题目链接] 点击打开链接 [算法] 首先,有一个结论 : 一定有一棵严格次小生成树是在最小生成树的基础上去掉一条边,再加上一条边 这个结论的正确性是显然的 我们先用kruskal算法求出最小生成树, ...

  3. 【JSOI 2011】 分特产

    [题目链接] 点击打开链接 [算法] 考虑求每个人可以不分的方案 那么,对于每件物品,我们把它分成n份,每一份对应分给每一个人,有C(a[i]+n-1,m-1)种方案,而总方案数就是每种 物品方案数的 ...

  4. MogileFS介绍

    MogileFS介绍 MogileFS 是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发. Danga团队开发了包括 Memcached.Mog ...

  5. mldonkey设置!看图(转载)

    转自:http://www.nenew.net/ubuntu-mldonkey-application.html 这里不是争论区,amule和mldonkey各有各好,看个人爱好,没有高下,都是程序员 ...

  6. 0626-TP整理二(调试模式,空操作,跨控制器调用,跨方法跳转--redirect(),框架语法,创建model模型)

    一.调试模式(入口文件:index.php) define('APP_DEBUG', true);  //调试模式 define('APP_DEBUG', FALSE);  //运行模式 开启日志信息 ...

  7. 微信H5页面 - 调酒

    这是微信H5的一款小游戏(一款酒的推广活动),主要游戏页面如下: 游戏规则: 点击选择2个元素(圈圈图片),放入瓶中,使它们与瓶中已有的三个元素碰撞,调配佳酿. 只有选择正确的2个元素搭配,才可以调配 ...

  8. 乐搏讲自动化测试-python语言特点及优缺点(5)

    相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章 ...

  9. Get 和 Post 使用篇(1)

    1.Post 请求发送方式 实例: const string sResponseEncoding = "gb2312"; //测试文本信息 string postText = &q ...

  10. ftp获取mysql数据库方法

    我说的这种情况是针对mysql数据库的,首先下载一个mysql通过ftp放到站点里面,然后通过配置文件找到数据库的名字和密码,然后通过浏览器访问数据库,直接在域名后面加上下载的mysql文件的名字就可 ...