小白学 Python 爬虫(5):前置准备(四)数据库基础
人生苦短,我用 Python
前文传送门:
小白学 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
本篇内容到这里就结束,希望各位同学可以亲自动手实践一下,谢谢~~~。
示例代码
小白学 Python 爬虫(5):前置准备(四)数据库基础的更多相关文章
- 小白学 Python 爬虫(14):urllib 基础使用(四)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(8):网页基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(11):urllib 基础使用(一)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(12):urllib 基础使用(二)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(13):urllib 基础使用(三)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(15):urllib 基础使用(五)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(17):Requests 基础使用
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(30):代理基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(7):HTTP 基础
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(36):爬虫框架 Scrapy 入门基础(四) Downloader Middleware
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
随机推荐
- Day 3,学习的知识点
年龄 如何判断是否未成年人 age = input('请输入你的年龄:')#input=输入age = int(age)#int=转化为整型if age < 18: print('小妹妹你 ...
- [UWP]使用GetAlphaMask和ContainerVisual制作长阴影(Long Shadow)
1. 什么是长阴影 前几年扁平化设计(Flat Design)十分流行,后来在扁平化的基础上又流行起了长阴影(Long Shadow).长阴影其实就是扩展了对象的投影,感觉是一种光线照射下的影子,通常 ...
- ansible模块之command、shell、script、file、copy、fetch
前戏 ansible 批量在远程主机上执行命令 openpyxl 操作excel表格 puppet ansible slatstack ansible epel源 第一步: 下载epel源 wget ...
- 学习笔记52_mongodb增删改查
使用use db1作为当前数据库 如果没有db1,会自动创建 使用switch db2,当前数据库切换为db2 使用show dbs,显示当前所有数据库 使用show collection ,显示当前 ...
- NOIP模拟 12
今天过的还真是心态炸裂.. 还是莫提了吧,今日之果一定对应着今日之因. 考试前非常心虚,莫名其妙地产生了一种紧张感(????)然后果然就在T1卡题了... T1想到了减去前一项的菲波数,但是没想到交替 ...
- 实测Maven上传jar包到私服的方法归纳
Hello,各位小伙伴大家好,我是小栈君.好久不见,最近因为工作的缘故,导致了更新变慢,但是小栈君也在积极的做素材的规划,毕竟学习知识点的归纳和提炼需要一定的时间. 所以还请大家多多见谅,下一期的分享 ...
- Kubernetes3-kubectl管理Kubernetes容器平台-2
一.kubectl管理集群中deployment资源与service服务 1.相关参数 kubectl edit 编辑服务器侧资源 kubectl replace 替换,使用 yaml 配置文件来替换 ...
- VM安装CentOS系统
本篇文章主要介绍了VMware安装Centos7超详细过程(图文) 1.软硬件准备 软件:推荐使用VMwear,我用的是VMwear 12 镜像:CentOS7 ,如果没有镜像可以在官网下载 :htt ...
- centos7上以RPM方式安装MySQL5.6
1. 下载MySQL http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-5.6/ MySQL-5.6.36-1.el7.src.rpm MySQL-5.6.36- ...
- mariadb数据类型
MariaDB 数据类型: MariaDB数据类型可以分为 数字,日期和时间以及字符串值. 使用数据类型的原则:够用就行,尽量使用范围小的,而不用大的 常用的数据类型: a. 整数:int, bit ...