zoukankan      html  css  js  c++  java
  • python爬虫27 | 当Python遇到MongoDB的时候,存储av女优的数据变得如此顺滑爽~

     

    上次

     

    我们知道了怎么操作 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 的正确姿势

     

     

    我们先来看看这样的数据

     

    namequantitysizestatustagsrating
    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

     

     

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

  • 相关阅读:
    Linux 如何查看当前目录
    Docker快速入手实战笔记
    【ssh】ssh登录出现‘The authenticity of host ‘IP’ can't be established.’的问题
    【AFL(七)】afl-fuzz.c小改——输出文件夹暂存
    【steam】Steam背景美化——长展柜终极指南
    【AFL(六)】AFL源码中的那些头文件
    【AFL(五)】文件变异策略
    【Latex】详细的简易教程——写在论文开始之前
    【Latex】论文写作工具:VScode 2019 + latex workshop
    【AFL(四)】afl-cmin修改:文件夹相关操作鲁棒性
  • 原文地址:https://www.cnblogs.com/fxxkpython/p/10832413.html
Copyright © 2011-2022 走看看