Python
未读数据分析基础
一、数据分析介绍
当我们谈论数据分析的时候,都在讲些什么呢?
这里我可以把数据分析分成三个重要的组成部分。
数据采集。它是数据分析的原材料,也是最“接地气”的部分,因为任何分析都要有数据源。
数据分析。就是针对现有的数据,进行专业的技术进行分析,并得到一份分析报告。
数据可视化。它可以说是数据领域中万金油的技能,可以让我们直观地了解到数据分析的结果。
数据挖掘。它最核心的部分,也是整个商业价值所在。之所以要进行数据分析,就是要找到其中的规律,来指导我们的业务,或者是给领导做出决策提供参考信息。因此数据挖掘的核心是挖掘数据的商业价值,也就是我们所谈的商业智能BI。
1、1 生活中的数据分析
1、1、1 无处不在的数据
生活中存在各式各样的数据,那么基于这些数据,我们又能做哪些分析呢?
最近几年大数据这个词是火的不行,确实随着社会科技水平的提高,我们使用电子设备的时间越来越长,现在数据的增长量真的非常非常快,这些数据来自各个领域,比如:
社交:微信,微博,知乎,豆瓣什么的
交通:出租车,公交车等类的数据,比如:滴滴出行
金融:股票历史交易信息,公司财报,新闻媒体的 ...
MySQL语句简介
MySQL的数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
备注: char 和varchar 一定要指定长度,float 会自动提升为double,timestamp 是时间的混合类型,理 论上可以存储 时间格式和时间戳。
类型
用途
int
整型,相当于java的int
bigint
整型,相当于java的long
float
浮点型
double
浮点型
datatime
日期类型
timestamp
日期类型(可储存时间戳
char
定长字符
varchar
不定长字符
text
大文本,用于储存比较长的字符内容
blob
字节数据类型,储存图片、音频等文件
建表操作
– 删除表
DROP TABLE IF EXISTS 表名;
– 新建表
create table 表名(字段名 类型 约束(主键,非空,唯一,默认值),字段名 类型 约束(主键,非空,唯一,默认值)编码,存储引擎;
在 SQL 中,我们有如下约束:
NOT NULL - 指示某列不能存 ...
CTGU自动安全上报
项目名称:CTGU自动安全上报
所使用技术栈:Vue2 + Flask + MySQL
实现过程:用户通过提交表单数据到Flask提供的API接口,将学号密码存储到MySQL数据库中,再通过服务器端Python脚本每天调用数据库参数对CTGU安全上报接口进行请求,达到自动安全上报。
源码地址:Alexation/Yiqing: CTGU Auto Safety Report (github.com)
实现过程大致分为三个阶段:
自动安全上报脚本编写
前端用户信息收集
后端提供API接口
自动安全上报脚本编写
Python脚本构造思路
1.明确需求(Website)
2.发送请求(Request)
请求方式:Get、Post
请求URL:URL全称统一资源定位符,如一个网页文档、一张图片、一个视频等都可以用URL唯一来确定
请求头:头部信息如User-Agent、Host、Cookies等信息
请求体:请求时额外携带的数据,如表单提交时的表单数据
3.获取数据(Response)
响应状态:有多种响应状态,如200代表成果、301跳转、404找不到页面、5 ...
常见加密方式
前言
我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。
所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。
将字符串和Bytes互相转换可以使用encode()和decode()方法。如下所示:
# 方法中不传参数则是以默认的utf-8编码进行转换
a = "中国欢迎您".encode("utf-8")
print(a) # b'\xe4\xb8\xad\xe5\x9b\xbd\xe6\xac\xa2\xe8\xbf\x8e\xe6\x82\xa8'
b = a.decode("utf-8")
print(b) # 中国欢迎您
注:两位十六进制常常用来显示一个二进制字节。
利用binascii模块可以将十六进制显示的字节转换成我们在加解密中更常用的显示方式:
import binascii
# 方法中不传参数则是以默认的utf-8编码进行转换
a = "中国欢迎您".encode("utf-8")
print(a) # b'\xe4\xb8\xad\xe5\x9b\xbd\ ...
AJAX的学习笔记(Node.js环境)
AJAX学习的笔记,主要环境为Node.js
课程地址: https://www.bilibili.com/video/BV1WC4y1b78y
第一章: 原生Ajax
1.1 Ajax简介
Ajax全称为Asynchronous Javascript And XML,即异步JS和XML
通过Ajax可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据
AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式
1.2 XML简介
XML:可扩展标记语言
XML:被设计用来传输和存储数据
XML和HTML类似,不同点:HTML中都是预定义标签,XML中没有预定义标签,全是自定义标签,用来表示一些数据
现在已被JSON取代
1.3 AJAX 的特点
1.3.1 AJAX的优点
可以无刷新页面与服务端进行通信
允许你根据用户事件来更新部分页面内容
1.3.2 AJAX 的缺点
没有浏览历史,不能回退
存在跨域问题(同源)
SEO不友好(爬虫获取不到信息)
1.4 AJAX 的使用
1.4.1 核心对象
第二章 j ...
JavaScript
未读JavaScript介绍
JavaScript和Java没关系!
在我学习计算机的相关知识时,最初认识JS是作为前端三件套,后续学习数据获取时接触到JS相关的加密算法、debugger以及各种常见的混淆等,包括各种常见的主流前端框架例如React、Vue等也是基于JS搭建起来的,那么JS的重要性显而易见。本文先对JS的概念以及常见的变量、数据类型、逻辑运算、函数、对象等进行了介绍,后对jQuery进行了简要说明。
JavaScript 是什么
JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)
脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行
现在也可以基于 Node.js 技术进行服务器端编程
JS 的组成
ECMAScript
ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。
E ...
Vue
Vue一套用于构建用户界面的渐进式JavaScript框架(Vue可以自底向上逐层的应用)
Vue核心
Vue的特点
采用组件化模式,提高代码复用率,让代码更好维护
声明式编码,让编码人员无需直接操作DOM,提高开发效率
使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点
初识Vue
想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象
root容器里的代码依然复合html规范,只不过混入了一些Vue语法
root容器里的代码被称为Vue模板
注意区分js表达式和js语句,表达式:会生成一个值,可以放在任何一个需要值的地方
模板语法
插值语法:
功能:用于解析标签内容
写法:
指令语法:
功能:用于解析标签(包括:标签属性、标签体内容、绑定事件)
举例:v-bind:href="xxx"或者直接默哀好
数据绑定
单向数据绑定:v-bind
双向数据绑定:v-model(表单类元素)value可以简写成v-model,因为v-model默认收集的就是value值
_el和data的两种写法
el
data
new V ...
网络安全
SQL简单介绍
SQL 指结构化查询语言,全称是 Structured Query Language。
SQL 让您可以访问和处理数据库,包括数据插入、查询、更新和删除。
SQL 在1986年成为 ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在 1987 年成为国际标准化组织(ISO)标准。
SQL注入流程:
sql注入的原理以及sqllite数据库
sqlite的安装以及基本语句
结合靶场理解sqlite的注入流程
SQL注入简介
SQL注入是网站存在最多也是最简单的漏洞,主要原因是程序对用户输入的字符串没有进行过滤或处理不严谨。至今SQL注入仍然是首要的难以修复的安全漏洞。
SQL注入的原理
SQL 注入的原理主要有以下 4 点:
1)恶意拼接查询
我们知道,SQL 语句可以查询、插入、更新和删除数据,且使用分号来分隔不同的命令。例如:
SELECT * FROM users WHERE user_id = $user_id
其中,user_id 是传入的参数,如果传入的参数值为“1234; ...
CSS的主要使用场景就是美化网页、布局页面的
HTML的局限性:只关注内容的语义
CSS-网页美容师:层叠样式表的简称
CSS基础选择器
CSS语法规范:有选择器以及一条或多条声明
标签选择器:用HTML标签名称作为选择器
CSS 选择器
类选择器
.类名 {
属性1: 属性值1;
}
<div class="类名"
⚠ 注意
类选择器使用"."进行标识,后面紧跟类名(自定义,我们自己命名的)
可以理解为给这个标签起了一个名字,来表示
长名称或词组可以使用中横线来为选择器命名
不要使用纯数字、中文等命名,尽量使用英文字母来表示
命名要有意义,尽量使别人一眼就知道这个类名的目的
命名规范:见附件(Web前端开发规范手册.doc)
多类名
在标签class中填写多类名
每个类名用空格分开
id选择器
#id名 {
属性1: 属性值1;
...
}
注意id属性只能在每个HTML文档中出现一次。
id选择器和类选择器的区别
类选择器好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用
id选 ...
HTTP知识点
URI(Uniform Resource Identifier)即统一资源标识符
URL(Universal Resource Locator)即统一资源定位符
例如:https://github.com/favicon.ico既是一个URL,也是一个URI
每一个URL都是URI,但不是每一个URI都是URL,URI还包括一个子类叫做URN(Universal Resource Name)即统一资源名称:只命名资源而不指定如何定位资源
HTTP和HTTPS
URL开头会有HTTP或HTTPS,这个就是访问资源需要的协议类型,有时还会看到ftp、sftp、smb开头的URL,他们均是协议类型。HTTP(Hyper Text Transfer Protocol)中文名叫做超文本传输协议,用于从网络传输超文本数据到本地浏览器的传送协议,能保证高效而准确地传送超文本文档。HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer):是以安全为目标的HPTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层 ...