人生苦短,我用 Python

前文传送门:

小白学 Python 爬虫(1):开篇

小白学 Python 爬虫(2):前置准备(一)基本类库的安装

小白学 Python 爬虫(3):前置准备(二)Linux基础入门

小白学 Python 爬虫(4):前置准备(三)Docker基础入门

本篇文章,我们接着介绍基础内容,数据库。

爬虫将数据爬取完成后,总要有地方存放吧,这个数据存在哪里呢?

当然是数据库中,那个说放在 Excel 里的,你给我站住!

当然 Excel 也是可以使用的,并且第三方也对 Excel 的操作提供了类库支持,但是,SQL 库还是一个老码农的坚持。

数据库现在分为关系型数据库,非关系型数据库和新型数据库。

还是换英文吧,说中文感觉不大对,防止小编说错,下面使用英文再介绍一遍。

  • SQL(Structured Query Language):数据库,指关系型数据库。主要代表: SQL Server 、 Oracle 、 MySQL 、 PostgreSQL 。

  • NoSQL(Not Only SQL):泛指非关系型数据库。主要代表: MongoDB 、 Redis 、 CouchDB 。

  • NewSQL:对各种新的可扩展/高性能数据库的简称。主要代表: Clustrix 、 GenieDB 、 TiDB 。

本系列文章会用到的数据库主要有 Mysql 和 Redis 。

下面,我们开始愉快的装起来。

Mysql 安装

Mysql 在 Win 环境下,可以找到 .exe 的安装包,但是小编不建议大家这么直接安装,这时,前面我们介绍的 Docker 就排上用场了,我们介绍如何在 Docker 中安装 Mysql 。

本文系统环境将使用 Linux ,当然,在 Windows 下通过 Docker 安装过程和命令基本一致。

首先,是将 Mysql 的镜像从镜像仓库中下载到本地:

docker pull mysql:5.7

静静的等待进度条走完,然后我们使用命令查看下刚才下载的镜像:

docker images

如果可以看到上图这样的显示就说明下载成功了,剩下的只需要我们来启动这个 Mysql 的镜像了。

docker run --name mysql --restart=always -p 3306:3306 -v /www/mysql/conf.d:/etc/mysql/conf.d -v /www/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d -v /www/mysql/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -d mysql:5.7

我来解释一下这里面的几个参数的含义:

--name:这里是命名启动后容器名称。

--restart:自动重启,比如服务器突然断电,重启服务器之后不需要重新手动启动。

-p:指定端口号。

-v:挂载。容器中的配置包括数据是不能直接访问的,但是可以将这些内容挂在到我们自己本机的目录中,小编这里的目录使用的是 linux 的文件目录,各位同学如果要在 win 的电脑上操作记得修改。

-e:配置数据库的 root 密码和指定时区是亚洲的上海。

-d:作为守护线程。

然后就结束了,我们的 Mysql 就安装完成了,可以通过命令查看一下容器是否正常启动。

docker ps

顺利完成!是不是感觉很简单,我们只需要三个命令就搭建了一个单机版的 Mysql 服务。而且在不同的系统中通过 Docker 安装,命令近乎一致。

但是 Mysql 装好了,我们怎么看里面的数据呢?这个可以安装一个客户端软件,叫做 Navicat ,可惜是收费的,而且还蛮贵的,那么怎么用就不用我多说了吧,自己悟。

界面还是蛮清爽的,操作也十分简单,毕竟有中文版,具体怎么操作各位同学自己点点看大致就知道了。

另外,建议各位同学在 Linux 中安装 Mysql 。

Redis 安装

首先来介绍下 Redis 。

Redis 我们一般是将其当成缓存来使用的,因为它的数据是存在内存中,所以它的读写速度要远远超出 MySQL,数据在内存中,意味着一旦断电重启后,将会丢失所有数据。

Redis 同样提供将数据持久化到硬盘,但是开启数据持久化到硬盘后,将会有效降低 Redis 的性能。

同样,我们在 Docker 中安装 Redis 。

下载 Redis :

docker pull redis

这里先创建一个文件夹用来做 Redis 的挂载目录,小编这里创建的文件夹目录为 /www/redis/ ,用来存放redis的配置文件、数据等。

Redis 的启动命令为:

docker run -d -p 6379:6379 --restart=always -v /www/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /www/redis/data:/data --name docker-redis redis --appendonly yes

Redis 的配置文件这里小编就不贴出来了,属实太长了,上传至代码仓库,有需要的同学自取吧。

顺便这个 Redis 缓存服务给大家做个共享,在公众号回复 redis 获取缓存服务配置。

硬件负载较低,本共享仅做测试使用,希望各位同学不要做压测等高危操作。

Excel 安装

目前 Office 也是更新至了 2019 版,具体怎么装我就不多讲了,只讲一个词: Office Tool ,懂的自然懂,不懂的就去百度下,百度这个必然不会让你失望的。

连接库安装

上面我们讲完了数据库的安装,如果我们想使用 Python 连接到这些数据库上,还需要一些第三方提供的类库。

PyMySQL

在 Python 中,想要连接到 MySQL 进行操作,就需要安装 PyMySQL 。

安装命令如下:

pip install pymysql

redis-py

在 Python 中,想要连接到 Redis 进行操作,就需要安装 redis-py 。

安装命令如下:

pip install redis

本篇内容到这里就结束,希望各位同学可以亲自动手实践一下,谢谢~~~。

示例代码

示例代码-Github

示例代码-Gitee

小白学 Python 爬虫(5):前置准备(四)数据库基础的更多相关文章

  1. 小白学 Python 爬虫(14):urllib 基础使用(四)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  2. 小白学 Python 爬虫(8):网页基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. 小白学 Python 爬虫(11):urllib 基础使用(一)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  4. 小白学 Python 爬虫(12):urllib 基础使用(二)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  5. 小白学 Python 爬虫(13):urllib 基础使用(三)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  6. 小白学 Python 爬虫(15):urllib 基础使用(五)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 爬虫(17):Requests 基础使用

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  8. 小白学 Python 爬虫(30):代理基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. 小白学 Python 爬虫(7):HTTP 基础

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  10. 小白学 Python 爬虫(36):爬虫框架 Scrapy 入门基础(四) Downloader Middleware

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

随机推荐

  1. Mongoose-modified-at 时间自动记录插件介绍

    Mongoose-modified-at 是一款自动更新字段变化时间并记录到数据库中的 Mongoose 插件,类似 Mongoose 自带的 timestamps 功能. 使用场景 让我们考虑一个场 ...

  2. day20作业

    1.下面这段代码的输出结果将是什么?请解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Parent): ...

  3. mysql数据迁徙详解

    数据迁徙是每个后端都会遇到的工作之一,本文介绍了一些常见的数据迁徙方法与工具 mysqldump:数据结构不变的数据迁徙 导出数据 mysqldump -u root -p DATABASE_NAME ...

  4. redis操作总结

    一.redis 终端操作命令: 1.redis-server.exe redis.windows.conf #指定配置文件启动 2.redis-cli #链接redis数据库 3.select 1 # ...

  5. 项目spring boot 写es hbase 运行内存溢出

    本地项目运行正常.服务器上运行内存溢出. 项目内部同时做插入oracle,es,hbase 经过测试发现 同时插入es,hbase是服务器上就会出现内存溢出 如果只插入oracle+es 或oracl ...

  6. Android_Fragment

    (一) Faragment有自己的生命周期 Fragment依赖于Activity Fragmen通过getActivity()可以获取所在Activity:Activity通过FragmentMan ...

  7. Spring入门介绍

    概述 下载地址:https://repo.spring.io/release/org/springframework/spring/ spring是开源的轻量级框架 spring核心的主要两部分 AO ...

  8. SasS 设计原则十二因素

    Heroku 是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.其创始人 Adam Wiggins 根据这些经验,发布了一个“十二要素应用宣言(The Twelve-F ...

  9. python学习之【第八篇】:Python中的函数基础

    1.前言 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2.函数的定义 定义函数时需要遵守以下规则: 函数代码块以 def 关键词开头 ...

  10. 奇怪的道路——状压DP

    题目描述 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外. 考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n.m条道路连接在这些城市之间,每条道路将两个 ...