自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flask学习2

8.请求钩子 8.1 before_first_request #再在第一次请求之前调用,可以做初始化操作 @app.before_first_request def before_first_request(): print('--------->before_first_request') 8.2 before_request @app.before_request def before_request(): print('--------->before_request'

2020-10-20 19:23:37 151

原创 numpy常见的函数与pandas的series类型

2.numpy常见的函数 2.1 条件判断函数 np.all(指定条件) 所有的元素都必须满足指定条件 np.any(指定条件,axis=) 至少有一个元素满足指定条件 axis=1表示对每列 axis=0表示对每行 2.2 数组的增删改 np.append(数组,添加的数据) 可同时增加多个,以列表的形式 多维数组增加时,输出会变成一维数组 np.insert(数组,插入位置,插入数据) 插入的数据与数组数据类型一致 多维数组插入数据时,如不指定行列,则输出一维数组 指定行列时,插入的数据需要与行列

2020-10-19 19:39:28 431

原创 flask学习

1.flask的第一个app # 1 加载接口名 from flask import Flask # 2 实例化 app = Flask(__name__) # 3 定义视图函数 @app.route('/index') def index(): return 'hello world' # 4 利用装饰器生产路由映射 # 5 开启服务器 if __name__ == '__main__': app.run(debug=True) 2.查看路由 3.创建app的参数 def __i

2020-10-19 18:48:12 104

原创 数据分析(1)

数据分析 1.numpy 1.1 数组 1.1.1 创建数组 # newlist = [1,2,3] # print('列表',newlist) # print(type(newlist)) # arr1 = numpy.array(newlist) # print('数组',arr1) # print(type(arr1)) 1.1.2 数组的组成 1.1.2.1 维度的个数 print('维度的个数',arr1.ndim) 1.1.2.2 维度的大小 print('维度的大小',arr1.shape

2020-10-12 19:32:10 306

原创 Django学习(2)

Django学习 3.1 创建虚拟环境 mkvirtualenv -p python3 虚拟环境名 -p python是指定使用python3 3.2 安装 pip install django==指定版本号 3.3 创建项目 django-admin startproject 项目名称 3.4 创建子应用 python manage.py startapp 子应用的名字 创建完成后需要在settings.py文件中注册 3.5 运行 python manage.py runserver [端

2020-09-27 19:49:03 102

原创 Django学习(1)

MTC和MTV 1.MVC M:Model(模块),封装对数据库层的访问, 数据处理,对数据库中的数据进行增、删、改、查操作。 V:View(视图),界面显示,用于封装结果,生成页面展示的html内容 C:Controller(控制器),逻辑处理,用于接收请求,处理业务逻辑,与Model和View交互,返回结果 MVC的设计核心:解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。 2.MTV M:Model(模块),与MVC中的M功能相同,负责和数据库交互,进行数据处理。 V:V

2020-09-27 19:27:20 97

原创 mongodb的基本操作

2.mongodb 创建使用数据库 use 数据库名 查看数据库 show dbs 物理意义上的数据库 mysql mongodb database database table collection row document文档 column 数据属性 field 字段/域 index index primary key primary key 2.1 集合 创建集合 db.createCollection(集合名) show collections; d

2020-09-25 19:20:08 118

原创 redis的基本操作

redis redis是非关系型数据库,一共支持5中数据类型 redis是键值对(key-value)型的数据库 通用操作 查看所有键名 keys * 删除数据 del 键名1 键名2... string 添加数据 set 键名 值 给数据设置限制时间 setex 键名 过期时间 值 如过期时间设置为10,则10秒后数据库自动删除这份数据 查看数据 get 键名 如果键名错误,并不会报错,只会返回一个空值 添加多条数据 mset 键名1 值1 键名2 值2 ... 查看多条数据 mget 键名

2020-09-25 19:10:54 74

原创 爬虫——scrapy框架

scrapy框架 1.框架的基本解读 scrapy engine 引擎,负责各个部件之间的通讯,信号以及数据的交流与传递 scheduler 调度器,负责接收的是引擎发送过来的requests请求,按照一定的方式进行整理排序,入队,将来如果引擎需要,就将requests请求还给引擎 downloader 下载器,负责将引擎传递过来的requests发送出去,将返回的response对象,直接交给引擎,再由引擎交给spider Downloader middlewares 下载中间件,自定义的内容,扩

2020-09-23 19:57:43 129

原创 爬虫4——BeautifulSoup

5.BeautifulSoup 5.1 安装 pip install beautifulsoup4 5.2 re lxml bs4的区别 工具 速度 使用难度 正则 最快 最难 lxml 较快 一般 BeautifulSoup 慢 最简单 7.4 解析字符串 str1='<div>这是测试div</div>' soup = BeautifulSoup(str1,'lxml') print(soup) 注意:使用 BeautifulSoup时会自动选择系

2020-09-23 19:13:41 100

原创 爬虫——Xpath

3.爬虫的具体步骤 1.需要数据对应的真实URL地址 2.找到对应的请求方式 3.使用第三方包,构造请求(注意需要进行伪装,headers的伪装,最重要的是需要进行浏览器伪装——User-Agent) 4发送请求 5.收到响应之后,需要对响应体数据进行解析(普通的页面text,如果是多媒体文件是content) 6.将拿到的页面或者多媒体文件按照需求进行提取(正则,Xpath等) 7..将获取到的目标文件进行保存 4.Xpath学习 4.1 html和xml的区别 xml不是html的替代,他们是为了不同

2020-09-23 18:58:53 171

原创 测试的分类

1、测试的分类 1.1 按照项目的流程阶段划分 单元测试 对软件中的最小可测试单元进行检查和验证,一般指一个函数或类 集成测试 在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试 系统测试 是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。 验收测试 验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。 1.2 对于代码的可见程度: 白盒测试:"白盒"法全面了解程序内部逻

2020-09-23 18:43:15 122

原创 定位元素

2、安装自动化测试工具 2.1 安装 2.2安装webdriver驱动 按照浏览器的版本寻找对应的驱动 3、webdriver API 3.1 从定位元素开始 3.1.1 id定位 def find_element_by_id(self, id_): """Finds an element by id. :Args: - id\_ - The id of the element to be found. :Returns:

2020-09-23 18:43:07 156

原创 webdriver控制浏览器

3.2 控制浏览器 3.2.1 控制浏览器窗口大小 # driver.set_window_size(400,600) driver.maximize_window() 注意点: 1、set_window_size 需要指定宽高 2、maximize_window 不需要指定任何参数,一般情况下,pc端需要全屏显示 3.2.2控制浏览器前进与后退 driver.back() time.sleep(5) driver.forward() 3.2.3 刷新页面 driver.refresh() 3.2.

2020-09-23 18:42:56 114

原创 爬虫(2)

2.正则匹配 2.1 match进行匹配 import re # match方法进行匹配,是从头开始匹配。match这个函数如果成功匹配,返回的就是一个对象,如果匹配不到数据,返回的就是none result = re.match('python','python is good') print(result) #group这个方法是用来提取匹配到的数据 print(result.group()) 注意点:match是从头匹配 2.2 字符 2.2.1 . 单个任一字符 result=re.matc

2020-09-21 19:39:05 100

原创 爬虫(1)

1.爬虫基础知识 1.1 爬虫的分类 通用爬虫:搜索引擎的一部分,将互联网的网页下载到本地形成镜像 聚焦爬虫:面向特定的需求,在网络抓取的时候对内容已经进行了筛选 1.1.1 搜索引擎工作原理 1.1.1.1抓取网页 搜索引擎网络爬虫 1、首先选取一部分的种子url,将这些url放入到等待抓取的url队列中 2、取出待抓取的url地址,解析主机的ip,将url对应的网页下载下来,存储进已经下载的网页库中,并且将这些已经完成url地址抓取的url放入到已经抓取的url队列中 3、分析已经抓取的url队列中的.

2020-09-18 20:06:13 190

原创 数据库—函数

14.2 函数 优点:同存储过程 14.2.1 函数与存储过程的区别 存储过程:可以有返回值,也可以没有返回值,视具体情况而定 函数:有且只有一个返回值,适合处理完成后返回一个结果 14.2.2 函数的格式 create function 函数名(参数列表) returns 返回类型 begin 函数体 end select 函数名() 注意点: 1、参数列表只包括两个部分 参数名 参数类型 2、函数体需要 returns 3、函数的调用使用select ...

2020-09-17 17:53:46 66

原创 数据库—存储过程

14.1 存储过程 作用:一般情况下,用于数据库的增删改 格式 create procedure 存储过程名(参数列表) begin 存储过程体(合法有效的sql语句) end 注意点: 1.参数列表 包含3个部分 参数模式 参数名 参数类型(例: in uesrname varchar(20)) 2.参数模式 in 表示该参数作为输入,该参数调用的时候传入值 out 该参数作为输出,就是返回值 inout 即可以当做输入,也可以当做输出 3.begin end,在存储过程只有一条语句时,可以省略 4

2020-09-17 17:53:16 76

原创 数据库(13)与python的交互

17.与python的交互 17.1 步骤 创建连接——>获取操作句柄——>执行sql语句——>关闭操作句柄——>关闭连接 17.2 具体操作 import pymysql #todo 创建连接方式 con = pymysql.connect(host='localhost',user='root',password='mysql',port=3306,charset='utf8',database='shanghui') print(con) #todo 获取操作句柄 cur

2020-09-17 17:49:54 113

原创 数据库(12)查看索引生效

16.6 如何查看索引生效 explain+sql语句 模拟的是优化器执行sql查语句的,分析查询语句的性能 16.7 explain执行的结果 EXPLAIN SELECT * FROM goods WHERE goods.`brande_id`=(SELECT brand.`id` FROM brand WHERE brand.`brandename`='IT教育视频') 16.7.1 id的具体内容 select查询的序列号,包含的是一组数字,表示的是查询中执行的select子句或者操作表的顺序

2020-09-17 17:48:56 1140

原创 数据库(11)索引

16.索引 16.1 mysql架构原理 16.2 为什么用索引 SQL性能下降,SQL慢,执行的时间长,等待时间过长 原因:1、SQL语句写的烂 ​ 2、索引失效 ​ 3、关联查询太多 ​ 4、服务器或者各种参数的设置(缓冲、线程数等) 索引: index帮助mysql进行高效查询的,为了帮助更高效率获取数据的数据结构 本质上索引是一个排好序的快速查找的数据结构 建议一张表不要超过5个索引 16.3 索引的分类 1、单值索引 一个索引只包含单个的列,一张表可以有多个单值索引 2、唯一值索引

2020-09-17 17:47:25 62

原创 数据库(10)流程控制结构

15.流程控制结构 15.1 分支结构 15.1.1 if函数 实现了简单的 双分支 if(表达式1,表达式2,表达式3) 执行顺序:如果表达式1成立,返回表达式2的结果,否则返回表达式3 15.1.2 if结构 语法 if 条件1 then 语句1; elseif 条件2 then 语句2; ...... else 语句; end if 应用在begin...end 15.1.3 case语句 case 变量|表达式|字段 when 要判断的值 then 返回的值或者语句1; when 要判断的值

2020-09-17 17:45:58 77

原创 数据库(8)变量

13.变量 13.1 系统变量 13.1.1 定义 由系统提供的,属于服务器层面的,启动之后就会出现的,已经有初始值的 13.1.2 系统变量的分类 1、全局变量 mysql在启动的时候由服务器将他们初始化默认值 2、会话变量 针对的是每一次创建的连接,由mysql来进行初始化操作,会将当前所有的全局变量复制一份,存储为会话变量 13.1.3 全局变量 (1)查看所有的全局变量 SHOW GLOBAL VARIABLES (2)模糊查找全局变量 SHOW GLOBAL VARIABLE

2020-09-17 17:43:55 331

原创 数据库(7)视图

12.视图 一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且在使用视图的时候,动态生成的,只是保存着sql逻辑,不保存结果 视图:虚拟表,和普通表一样,但是通过表,动态生成的 表:数据库中真实存在的 创建视图 creat view 视图名 as sql语句 使用视图 select * from 视图名 应用场景 多个场景用到相同的sql语句 该查询使用的sql比较复杂 12.1 修改视图 1、create or replace view 视图名 as 查询语句 2、

2020-09-17 17:43:26 54

原创 数据库(6)事务

11.TCL事务管理语言 事务:一个或一组SQL语句组成的一个执行单元,这个单元要么全部完成,要么全部失败 ACID 事务的属性: 1.原子性:一个事务是不可再分的工作单元 2.一致性:事务必须是数据库从一个一致的状态转换到另一个一致的状态 3.隔离性:一个事务的执行,不能被其他事务干扰 4.持久性:一个事务一旦被提交它对数据库的改变是永久有效的 11.1 存储引擎 定义:数据库中使用不同的存储技术将数据存储在文件中 # 查看当前数据库支持的存储引擎 SHOW ENGINES; 注意点: 1、innodb

2020-09-17 17:42:08 117

原创 数据库(5)

10. DML语言 10.1 增加数据 value和values的区别(只在MySQL中成立) 插入多条数据时 value性能更好 插入一条数据时 values性能更好 实际没有太大的影响 10.1.1 全列插入 全列插入 insert into 表名 values(每一列的值按照顺序填写); 10.1.2 缺省插入 insert into 表名(字段1,字段2......) values(字段1的值,字段2的值.....); 注意点: 1、字段的书写顺序由自己定,可以不按照数据库表设计的顺序 2、插

2020-09-09 17:39:39 156

原创 数据库(4)

8.数据库表的处理 8.1 修改字段的名字以及数据类型和约束 alter table 表名 change 旧字段名 新字段名 数据类型和约束; 8.2 只修改字段的数据类型及约束 alter table 表名 modify 字段名 数据类型及约束; 8.3 增加字段 alter table 表名 add 字段名 数据类型及约束; 8.4 删除字段 alter table 表名 drop 字段名; 8.5 修改数据库表名 alter table 旧表名 rename to 新表名 ; 8.6 表的复

2020-09-09 17:39:07 82

原创 数据库(3)

7.数据类型 7.1 字符 varchar 表示的是可变长度的字符串 varchar(3) 'as’还是‘as’ 在定义的过程中,必须指定长度 char 表示的是固定长度的字符串char(3), 'as'变为'as ',可以不指定,默认一个字符,最大255 text 大文本存储,当数据字符大于4000时使用 decimal(m,n) m代表的是一共有M位,但是n表示的是小数占多少位 int 使用4个字节保存整数数据 7.2 整数 1、如果没有设置,默认是有符号数,如果需要设置无符号数,用UNSI

2020-09-09 17:38:16 158

原创 数据库(2)

6.DDL学习 6.1 创建数据库 create database 数据库名称 提高容错率 create database if not exists 数据库名称 注意点: 1.数据库的语句不区分大小写 2.不能重复创建相同名称的库 6.2 删除数据库 drop database 数据库名称 drop database if exists 数据库名称 不能删除不存在的库 6.3 显示所有数据库 show databases; 6.4 使用数据库 ues 数据库名 6.4 创建一张表 数据库由多张表

2020-09-09 17:31:39 235

原创 数据库(1)

1.数据库的类型 1.关系型数据库 oracle 银行、政府 MySQL 最广泛的 postgresql sqlite 移动平台 等 2.非关系型数据库 redis mongodb 等 2.数据库的核心元素 1.sql:关系型的数据库语言 2.Mysql 具体的数据库 3.RDBMS 关系型数据库管理系统 4.数据库:数据库是一种特殊的文件 3.sql语句的分类 DML:数据操作语句,添加,删除,修改,查询数据库的记录,检测数据的完整性 insert(添加) delete(删除)

2020-09-09 17:30:53 75

空空如也

空空如也

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

TA关注的人

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