自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 数据结构和算法 - 基础排序

目录一、复杂度1-1 空间复杂度 - 用于评估算法内存占用大小1-2 时间复杂度 - 用来估计算法运行时间的二、列表排序2-1 基础排序2-1-1 冒泡排序2-1-2 选择排序2-1-3 插入排序2-2 高级排序2-2-1 快速排序2-2-2 堆排序2-2-3 归并排序2-3 非常用排序2-3-1 希尔排序2-3-2 基数排序2-3-...

2019-01-27 19:24:08 210

原创 爬虫 - scrapy 框架 - 爬取页面显示,root.txt重定向 - 爬虫协议

 当进行初步测试的时候,发现执行默认程序的时候,不输出回调函数的执行内容,页面访问被重定向到了roots.txt文件解决方法:对配件文件进行相应更改,让程序不支持爬虫协议,不允许重定向。执行结果,按照程序意图获取数据。...

2019-01-25 17:34:47 681

原创 爬虫 - scrapy 框架 - Spiders 请求处理

目录一、Spiders 介绍1-1 Spiders 运作过程1-2 Spiders 提供的五种模板类1-2-1 模板类的简单实用二、scrapy.spiders.Spider 类 - 最基本的类2-1 属性、方法详解2-2 简单实例2-2-0 基础实例2-2-1从单个回调中返回多个请求和项目2-2-2直接使用start_requests()代替start...

2019-01-25 16:31:06 1793

原创 爬虫 - scrapy 框架 - 基本介绍、项目启动

目录一、基础介绍1-1 基本结构1-2 基本流程二、安装方式2-1 基于windows下的安装2-1-0 安装流程2-1-0 pywin32安装2-1-1 基于twisted的wheel文件安装流程2-2 安装成功显示三、项目启动3-1 startproject 项目名3-2 项目目录结构3-3 配置使用pycharm执行爬虫文件3-3-0 ...

2019-01-25 14:27:09 955

原创 爬虫 - 高性能爬虫 - 降低IO阻塞

目录一、asyncio模块 - 检测网络IO,实现应用程序级别切换1-1 原始方式 - 仅支持TCP级别请求1-2 使 asyncio 支持Http协议请求1-2-1 自定义报头1-2-2 aiohttp模块封装报头1-2-3 requests.get方法封装报头二、gevent模块 优化io阻塞三、grequests模块四、twisted 框架 - 自动检测I...

2019-01-24 15:07:54 1146

原创 爬虫 - 基于线程优化爬虫效率

目录零、优化方式总结一、原始同步调用方式二、使用多线程优化效率三、使用 线程池+回调机制 优化多线程的不足零、优化方式总结对应下列中的所面临的可能同时出现的上千甚至上万次的客户端请求,“线程池”或“连接池”或许可以缓解部分压力,但是不能解决所有问题。总之,多线程模型可以方便高效的解决小规模的服务请求,但面对大规模的服务请求,多线程模型也会遇到瓶颈,可以用非阻塞接口来尝...

2019-01-24 14:55:40 714

原创 爬虫 - 项目学习 - 基于 selenium 爬取京东

目录一、界面分析二、主页面查询,数据跳转商品页面三、商品页面获取商品信息四、商品页面翻页获取数据五、综合封装,获取多页指定商品数据六、注意事项及错误总结6-1 翻页使用上方的'>'时报未查到元素错误6-2 翻页使用上方的'>'时报不可点击错误6-3 使用 chromedriver 的错误总结6-3-1 封装在函数内的页面自动关闭6-3-2 转...

2019-01-24 14:34:04 776

原创 爬虫 - selenium 模块 - 基于浏览器驱动请求数据

目录一、简单介绍二、浏览器驱动下载2-1 有界面浏览器驱动2-1-1 基于chrome浏览器2-1-2 基于Firfox浏览器2-2 无界面浏览器驱动2-2-1 phantomJS2-2-2 chromdrive配置无GUI模式2-3 驱动的基本使用三、元素查找方法3-1 find_element_by_3-2 find_elements_by_...

2019-01-24 10:28:39 1462

原创 爬虫 - BeautifulSoup4 模块 - 数据解析

目录一、BS4 简单介绍1-0 指定文档解析器1-1 BS4解析器 二、BeautifulSoup 类解析2-1 基本使用方式 - 遍历文档树三、Tag 对象介绍3-1 Tag 常用属性3-1-1 Name - Tag.name3-1-2 Attributes - Tag.attrs3-1-3 Text、String - Tag.text、Tag.strin...

2019-01-23 11:04:09 561

原创 爬虫 - Request模块 - 模拟请求获取数据

目录一、Request简单介绍1-1 支持请求API二、请求获取数据总结2-0 request方法2-1 GET 请求 - 直接获取页面信息2-2 POST 请求 - 发送数据用于请求2-2-1 POST请求模拟登陆 - github测试,手动处理cookie信息2-2-1 POST请求模拟登陆 - github测试,requests.session()处理cook...

2019-01-22 11:02:31 4790

原创 爬虫 - 项目学习 - 爬取免费视频链接 - 分页获取数据请求分析(request请求模拟,re分析数据,文件存储)

目录一、分类视频信息主页面分析二、程序代码一、分类视频信息主页面分析存在页面下滚,触发视频的更新,即网页发送get请求https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=5&start=24&mrd=0.3802117356429201&filterI...

2019-01-22 09:58:02 573

原创 爬虫 - 基本介绍、流程总结

目录一、基本流程二、Request 请求2-1 请求方式2-2 请求url2-3 请求头2-4 请求体2-5 请求实例分析三、Response响应一、基本流程发起请求 使用http库向目标站点发起请求,即发送一个Request; Request包含:请求头、请求体等 获取响应内容 如果服务器能正常响应,则会得到一个Response; Resp...

2019-01-21 11:46:13 1148

原创 Mongodb - 导入导出操作

目录一、导出工具 mongoexport1-1 单表备份至json格式1-2 单表备份至csv格式二、导入工具 mongoimport三、数据恢复3-1 恢复json格式表数据到log13-2 恢复csv格式的文件到log2四、异构平台迁移案例4-1 mysql下world库的city表,导入mongodb4-1-1 mysql开启安全路径4-1-2 导...

2019-01-21 10:54:03 1326

原创 Mongodb - 复制集RS简单操作

目录一、基本原理二、基本介绍三、Replcation Set配置过程详解3-0 多节点规划3-1 配置复制集 - 两种结构3-1-1 1主2从,从库普通从库3-1-2 1主1从1个arbiter四、复制集管理4-1 查看复制集状态4-2 添加、删除节点4-3 添加 arbiter节点一、基本原理基本构成是一主二从的结构,自带互相监控投票机制(R...

2019-01-21 10:45:44 2003 2

原创 Mongodb - 简单介绍、基本操作总结

目录一、简单介绍1-1 易用1-2 易扩展1-3 功能丰富1-4 性能强二、逻辑结构 and 层次结构2-1 层次结构三、mongodb的常用基本操作3-0 mongodb默认存在的库3-1 命令种类 - 基于三大操作对象3-1-1 基于库的基本操作3-1-2 基于表的基本操作3-1-3 基于数据行的基本操作3-1-4 复制集(replic...

2019-01-21 10:37:35 582

原创 Mongodb - 基于Windows环境的安装配置

目录零、MongoDB的下载一、安装1-1 安装路径为D:\MongoDB,将D:\MongoDB\bin目录加入环境变量1-2 新建目录与文件1-2-1 测试数据目录1-3  新建配置文件mongod.cfg - YAML格式配置1-4 制作系统服务1-5 mongodb的启动和关闭1-6 登陆mongodb二、mongodb用户管理2-1 用户创建...

2019-01-21 10:00:52 258

原创 Mongodb - 基于Linux环境的安装配置

目录一、基于Centos7.5的安装1-1 创建所需用户和组1-2 创建mongodb所需目录结构1-3 上传并解压软件到指定位置1-4 设置目录结构权限1-5 设置用户环境变量1-6 启动mongodb1-7 客户端连接服务二、配置配置文件2-1 基础配置文件格式配置2-2 基于YAML格式配置文件2-3 YAML格式三、mongodb的关闭和...

2019-01-21 08:52:51 519 1

原创 Redis - 缓存穿透、缓存雪崩、缓存击穿、DB缓存一致性、缓存淘汰

目录一、缓存穿透二、缓存雪崩三、缓存击穿四、数据库、缓存双写不一致五、缓存淘汰策略一、缓存穿透概念 - 访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。存在场景系统设计不合理,缓存数据更新不及时 爬虫等恶意攻击解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤 若访问 ...

2019-01-17 19:52:10 280

原创 Redis - 主从

目录一、Redis服务器管理命令总结二、主从复制介绍2-1 复制数据时,打开服务器的持久化原因2-2 主从复制原理2-3 命令传播2-4 复制中的SYNC和PSYNC三、主从复制的一致性保证3-1 复制安全性提升四、主从复制的实际操作4-1 环境准备4-2 开启主从4-3 查询主从状态4-4 手动从库切换为主库  - 模拟主库故障宕机五、使用...

2019-01-17 19:50:32 239

原创 Redis - 事务操作、乐观锁

目录一、Redis事务操作1-1 事务命令二、基于Redis乐观锁实现上锁操作2-0 乐观锁 and 悲观锁2-1 Redis 事务实现悲观锁 - 模拟抢票一、Redis事务操作Redis事务操作与MySQL事务操作的区别redis的事务是基于队列实现的。 mysql的事务是基于事务日志实现的。1-1 事务命令•DISCARD  -取消事务,放弃执行事务块...

2019-01-17 19:33:16 174

原创 Redis - 发布订阅相关

目录一、Redis发布消息的两种模式二、Redis发布订阅介绍2-1 一个Publisher多个Subscriber模型 2-2 多个Publisher,一个Subscriber模型 2-3 多个Publisher,多个Subscriber模型三、发布订阅操作一、Redis发布消息的两种模式队列模式(queuing) 任务队列的优点 松耦合、易于扩展 ...

2019-01-17 19:20:51 163

原创 Redis - 五大数据类型应用总结

目录一、Redis 五大数据类型二、Redi 键的通用操作总结三、String 3-0 应用场景3-1 简单操作总结四、Hash4-0 应用场景4-1 简单操作总结 五、List5-0 应用场景5-1 简单操作总结 六、Set6-0 应用场景6-1 简单操作总结 七、SortedSet7-0 应用场景7-1 简单操作总结 一...

2019-01-17 19:14:00 181

原创 Redis - 基础总结

目录一、Redis 功能介绍二、 Redis与Memcached的应用场景对比三、Redis的简单安装部署四、Redis基本管理操作4-1 基础配置文件4-2 客户端常用命令4-3 通过Redis安全配置的方式4-3-1 方式一、Bind - 指定IP进行监听4-3-2 方式二、增加requirepass  {password}4-3-3 验证安全配置4...

2019-01-17 18:51:14 172

原创 MySQL - 日志总结

目录一、错误日志 - errorlog二、二进制日志 - binlog,逻辑型日志2-1 配置二进制文件2-1 查看日志信息2-2 日志内容查看2-3 截取二进制日志三、慢日志 - slow-log3-1 慢日志启用配置一、错误日志 - errorlog后期通过分析文件内[error]标签 ,获取错误信息二、二进制日志 - binlog,逻辑型...

2019-01-16 20:08:50 227

原创 MySQL - 基于索引的压力测试

目录一、模拟数据库数据1-1 创建数据库及表脚本  - vim slap.sh1-2 执行脚本 1-3 检查数据的可用性1-4 在索引优化前后使用mysqlslap进行压力测试一、模拟数据库数据1-1 创建数据库及表脚本  - vim slap.sh#!/bin/bash HOSTNAME="localhost" PORT="3306" USERNAME...

2019-01-15 20:00:56 1345 1

原创 MySQL - 索引使用优化和规范

目录一、索引使用总结二、索引建立原则 - 运维规范三、未建立索引时,查询操作规范 - 开发规范四、索引其他使用经验总结一、索引使用总结1. 一定是为搜索条件的字段创建索引,比如select * from s1 where id = 333;就需要为id加上索引2. 在表中已经有大量数据的情况下,建索引会很慢,且占用硬盘空间,建完后查询速度加快比如create ind...

2019-01-15 19:54:40 1837

原创 MySQL - 索引总结

 目录一、索引 - 优化查询1-0 查询的三种情况1-1 索引种类二、普通索引 - 单例索引、组合索引2-1 普通索引的创建方式(三种)2-1-1 创建表是建立索引2-1-2 在已存在的标上创建索引 - CREATE2-1-3 在已存在表上创建索引 -  ALTER TABLE2-2 普通索引的删除方式2-3 查看索引信息三、基于Btree的索引3-...

2019-01-15 19:39:49 298

原创 MySQL - 重置root密码操作

目录一、设置root用户密码二、查看数据库用户表信息三、root密码的重置操作3-1 停止数据库服务的执行3-2 启动数据库(safe版)的无密码验证码时3-3 更新数据库密码信息3-4 重启数据库服务3-5 登陆测试一、设置root用户密码mysqladmin -uroot -p password 123二、查看数据库用户表信息select ...

2019-01-15 17:24:33 1790 1

原创 MySQL - 初始化配置(单机以及多实例)

目录一、单机环境下的初始化配置1.1 初始化数据:1.2  配置文件二、多实例下的初始化位置2-0 查看多配置文件的使用顺序2-1 创建相关目录2-2 创建配置文件2-3 初始化数据2-4 启动多实例2-5 实例的状态查看三、配置systemd管理多实例  - 优化多实例的启动与关闭一、单机环境下的初始化配置1.1 初始化数据:/usr/...

2019-01-15 17:19:44 2143

原创 MySQL - 数据库优化相关

 目录一、版本选择二、MySQL体系结构2-1 MySQL C/S结构2-1-1 TCP/IP连接2-1-2 SOCKET文件连接2-2 MySQL实例2-2-1 mysqld 三层结构三、MySQL的逻辑结构四、SQL 语句4-0 SQL语句的操作对象4-1 SQL类型(满足SQL92标准)五、数据类型和字符集优化 一、版本选择Ora...

2019-01-14 11:49:35 371

原创 Bootstrap - Bootstrap Table使用的学习总结

目录一、Bootstrap Table - 学习博客参考二、简单使用总结2-1 相关文件的导入2-2 html页面结构初始化2-3 JS代码初始化2-3-1 效果对应截图说明一、Bootstrap Table - 学习博客参考二、简单使用总结2-1 相关文件的导入<link rel="stylesheet" href="/static/bs...

2019-01-11 17:13:15 562

原创 Django - JsonResponse - QuerySet对象(models查询返回结果)的Json格式的数据传输

 # 将QuerySet列表对象强制转换成普通的list进行传送server_list = models.Server.objects.values(*filed_list)return JsonResponse(list(server_list), safe=False)注意:方法可以举一反三,适用于其他不支持QuerySet列表对象的方法 ...

2019-01-11 16:51:03 4178 1

原创 基于Django的前端渲染方式总结

 目录一、基于后台Render传输数据,前台使用Django-Template渲染1-0 渲染方式特点总结1-1 后台Render传输数据1-2 Template前端获取数据渲染1-3 详细学习博客跳转1-3-1 Django - 模板层 - 变量、过滤器、标签1-3-2 Django - 模板层 - 模板的导入和继承 、静态文件的使用1-3-2 基于此方法实现渲染...

2019-01-11 16:18:15 5370 1

原创 CMDB 项目学习 - AES加密算法 - 数据的加密解密(Client端加密,Server端解密)

目录一、AES加密二、AES解密三、结果测试一、AES加密from Crypto.Cipher import AESdef encrypt(message): key = b'dfdsdfsasdfdsdfs' cipher = AES.new(key, AES.MODE_CBC, key) ba_data = bytearray(message...

2019-01-11 14:34:54 526

原创 Django - CMDB 项目学习 - 对Client传输的数据进行对数据库内数据的增删改操作(Server端数据处理)

目录一、数据信息的处理 - 磁盘信息(可改进)一、数据信息的处理 - 磁盘信息(可改进)重点总结new_slot_list = list(new_disk_info.keys()) - list的使用,获取字典的key值形成列表 tmp = "增加磁盘槽位{slot}, 类型{pd_type}, 容量{capacity}, 型号{model}".format(**disk_re...

2019-01-11 09:14:54 296

原创 Django - CMDB 项目学习 - ORM表结构设计(Server端数据处理)

目录一、结构图设计二、代码一、结构图设计二、代码from django.db import modelsclass UserProfile(models.Model): """ 用户信息 """ name = models.CharField(u'姓名', max_length=32) email = models.Emai...

2019-01-10 18:52:01 478

原创 CMDB 项目学习 - API的用户校验(Client上传数据,Server进行数据处理)

目录一、Client端数据上传 - headers数据,用于用户验证二、API的用户校验三、校验检测一、Client端数据上传 - headers数据,用于用户验证加盐方式md5加密方式 盐:hostname+时间戳,生成md5字符串 加密对象:配置文件内写死的字符串'''DataAcquisition.py'''import hashlibimport t...

2019-01-10 17:28:42 447

原创 CMDB 项目学习 - 数据采集(Client端 - 程序位于Agent服务器或中控机执行)

目录一、需求分析1-1 需求思路流程1-2 代码逻辑流程二、目录结构分析三、默认配置和用户配置的获取、集成四、数据采集方式、数据采集对象的可插拔配置五、数据采集方式和数据获取(三种方式)六、基于ssh和salt数据获取的并发实现七、唯一标识问题7-1 基于 Agent 的 HostName 变更问题7-1-1 变更问题的代码解决一、需求分析默认...

2019-01-09 19:57:10 1770

原创 python3 学习 - 常用模块 re,subprocess

目录一、re模块1-1 正则表达式的常用指令1-1-1 wW、sS、n、t、dD、A、Z1-1-2 ^、$ - 匹配开头、结尾1-1-3 重复匹配 - . - * - ? - .* - .*? - + - {n,m}1-1-4 [ ] - 字符集合1-1-5 \\ - 斜杠的匹配1-1-6 () -分组,不改变整体匹配方式,但优先输出分组内部值1-1-7 fin...

2019-01-08 20:49:53 670

原创 CMDB 项目学习 - 需求分析、市场调研

目录传统运维流程及自动化优化需求一、项目上线流程二、对传统运维的自动化优化三、使用CMDB的原因四、技术需求 传统运维流程及自动化优化需求一、项目上线流程产品经理前期调研 (需求分析) 开发部门开会进行评审 开发人员进行开发 测试人员进行测试 运维人员将成熟项目进行上线 二、对传统运维的自动化优化项目代码的自动发布 给予条件:指定被发布服...

2019-01-08 20:23:16 767

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除