自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 爬虫常见面试

一.项目问题:1.你写爬虫的时候都遇到过什么反爬虫措施,你最终是怎样解决的通过headers反爬虫:解决策略,伪造headers基于用户行为反爬虫:动态变化去爬取数据,模拟普通用户的行为, 使用IP代理池爬取或者降低抓取频率,或 通过动态更改代理ip来反爬虫基于动态页面的反爬虫:跟踪服务器发送的ajax请求,模拟ajax请求,selnium和phtamjs。或 使用selenium ...

2019-06-12 20:30:05 11780 1

原创 Django高级-Form表单组件应用

form组件做的三件事要有一个注册的页面,页面里面要有form表单 --> 生成HTML代码form表单要能提交数据到后端,后端要做有效性校验 --> 数据有效性校验要把校验的提示信息展示在页面上 --> 校验信息返回并展示,保存原来填写的内容form组件的应用例子from django.shortcuts import render, HttpResponse...

2019-05-05 21:33:29 276

原创 http和https有什么区别?

HTTPS和HTTP的区别主要如下:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传...

2019-04-23 22:14:04 427

原创 Django基础

一、HTTP协议1、HTTP协议简介超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是应用层协议。HTTP是万维网的数据通信的基础。HTTP协议中现今广泛使用的一个版本——HTTP 1.1。2、HTTP协议概述HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。默认端口为803、HTTP工作原理HTTP协议采用了...

2019-04-22 19:13:21 181

原创 Centos基本操作命令

一.命令行窗口在Linux下,我们通过命令行来操作。打开命令行:[root@bogon ~]Root : 表示登录用户localhost: ip地址~:表示用户工作目录或者家目录,我们使用哪个用户登录系统,默认就会在那个用户的家目录下。二.linux命令的格式command [-options] [parameter]说明:command:命令名,相应功能的英文单词或单...

2019-04-15 19:38:12 1532

原创 视图

1、什么是视图视图就是一条SELECT语句执行后返回的结果集,视图是一个虚拟表,同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表。2、视图作用(1)简化用户的操作关键信息来源于多个复杂关联表,可以创建视图提取我们需要的信息,简化操作;(2)对机密数据提供保护作用不希望用户访问表中某些含敏感...

2019-04-12 21:58:23 210

原创 索引

索引在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引以找到特定值,然后顺指针找到包含该值的行。这样可...

2019-04-12 21:46:29 133

原创 MySQL事务

简介数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。概要一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操...

2019-04-12 21:35:43 178

原创 MySQL教程(基础篇)之多表联合查询

在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中。当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将要说到的表连接。常用术语冗余(Redundancy):存储两次数据,以便使系统更快速。主键(Primary Key):主键是唯一的。同一张表中不允许出现同样两个键值。一个键值只对应着一行。外键(Foreign Key):用于连接两张表。表...

2019-04-11 22:24:08 5603

原创 MySQL教程(基础篇)之数据库设计范式及应用举例

常用术语在这个地方,我们可能就需要接触到一些常用的术语了。虽然我们在前面已经介绍过了,这里我们再回顾一下:数据库(Database):数据库是带有相关数据的表的集合。表(Table):表是带有数据的矩阵。数据库中的表就像一种简单的电子表格。列(Column):每一列(又可以称为属性)都包含着同种类型的数据。行(Row):行(又被称为元组、项或记录)是一组相关数据。可以理解为实例化一个类...

2019-04-11 21:41:44 214

原创 学习随记(联合主键,select之后的语句排序,数据库三范式)

1.联合主键所谓的复合主键 就是指你表的主键含有一个以上的字段组成。create table t5(name varchar(20),age int,gender CHAR(5),PRIMARY key(name,age));2.Select 后面的内容顺序。Selet [select 选项] 字段列表[字段别名] /* from 数据源left join xxx on xx...

2019-04-11 21:29:05 1162

原创 表关系(一对一,一对多,多对多)

可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名、出版日期和出版社。您也可能保存有关出版社的信息,诸如出版社的电话、地址和邮政编码。如果您打算在 titles 表中保存所有这些信息,那么对于...

2019-04-10 23:07:40 1771

原创 Mysql数据库完整性

一、数据完整性的概念1、目的为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。2、概念约束是用来确保数据的准确性和一致性。数据的完整性就是对数据的准确性和一致性的一种保证。数据完整性(Data Integrity)是指数据的精确性(Accu...

2019-04-09 23:27:32 2039

原创 MySQL基础语句操作2

MySQL DELETE 语句你可以使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录。你可以在 mysql> 命令提示符或 PHP 脚本中执行该命令。语法以下是 SQL DELETE 语句从 MySQL 数据表中删除数据的通用语法:DELETE FROM table_name [WHERE Clause]如果没有指定 WHERE 子句,MyS...

2019-04-09 23:06:56 120

原创 MySql基础语句操作1

SQL语句:DDL语句::数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言1.CREATE - to create objects in the database 创建2.ALTER - alters the structure of the database 修改3.DROP - delete objects from the database 删除1)登陆连接mysql...

2019-04-08 20:09:16 183

原创 数组下标为什么从零开始

在我们日常的学习过程中,我们了解到在C++/JAVA/python中,数组下标是从0开始的。对于新手来说,遍历的数组的时候还真是容易出错。但是为什么要这样规定,这样规定有什么好处?其实根据我们前辈的思想,这样规定的主要好处是方便“寻址”。这就要涉及到底层硬件的知识,我们知道程序运行时,变量的值,运算的结果值等都是暂时放在内存中。举个例子:int a = new int [5] 这是JAVA中常...

2019-04-03 11:34:24 3166 1

原创 Python练习题:分解质因数

【Python练习题 010】将一个正整数分解质因数。例如:输入90,打印出90=233*5。一开始我简单地以为,只要将输入的整数拿个数字列表挨个除一遍,能整除的就可以收为质因数。但事实上是行不通的,因为这样会连同 4、6、9 这样的数字也收进去,而当质因数有重复时(比如12=223),就会被遗漏掉。基于以上的考虑,转换思路:还是将输入的整数(n)拿个数字列表挨个除,但要多除几遍,而且每遍除...

2019-03-28 19:50:45 2606 1

原创 Sorted快速排序

排序算法排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。Python内置的sorted()函数就可以对list进行排序:sorted([36, 5, -12, 9, -21])[-21, -12, 5, ...

2019-03-26 22:02:30 133

原创 css盒子小基础0320 小结

width 设置盒子宽度 height 设置盒子高度border 设置边框border-up 上边框 border-bottom 下边框 border-left 左边框border-right右边框color 字体颜色 font-size字体大小margin外边距 margin:xx(上) xx(左) xx(下)xx(右)padding内边距 padding:xx(上) xx(左...

2019-03-20 23:14:49 93

原创 堆 栈和队列 基础理论

内存:堆 和 栈由于硬盘速度太慢,远远供应不上CPU的执行速度,为了解决硬盘与cpu速度不匹配的这个问题,产生了,栈和堆。堆:什么是堆?又该怎么理解呢?①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:·堆中某个节点的值总是不大于或不小于其父节点的值;·堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆...

2019-03-16 16:35:56 194

原创 单向链表he双向链表

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接(“links”)。链表最明显的好处...

2019-03-16 14:50:16 198

原创 二分查找

查找:在一些(有序的/无序的)数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程叫做查找。也就是根据给定的某个值,在查找表中确定一个关键字等于给定值的记录或数据元素。顺序查找顺序查找也称为线形查找,从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。例如:# 查找# 从列...

2019-03-16 14:39:11 121

原创 冒泡排序

排序算法大体可分为两种:一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等    我们这里主要讲下冒泡排序:    冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他...

2019-03-16 14:17:23 207

原创 生产者与消费者及队列

生产者与消费者模型在并发编程中,如果生产者处理速度很快,而消费者处理速度比较慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者。为了解决这个等待的问题,就引入了生产者与消费者模型。让它们之间可以不停的生产和消费什么是生产者消费者模式生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不...

2019-03-16 13:38:23 1933

原创 进程,线程,协程与互斥锁基础,

#1:--------------什么是进程?“”"进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。狭义定义:进程是正在运行的程序的实例。广...

2019-03-16 11:13:37 463

原创 线程队列基础

from queue import Queue#先进先出队列from queue import PriorityQueue#继承了先进先出队列from queue import LifoQueue#后进先出#创建一个线程队列q=Queue(3)#放数据q.put(“q1”)q.put(“q2”)q.put(“q3”)print(q.full())print(q.empty())...

2019-03-14 20:32:46 82

原创 线程与进程基础

锁,可以对关键的语句加锁,使其串行操作,其他语句还是并行操作](https://img-blog.csdnimg.cn/20190313210357860.png) 就好比,你和媳妇炒俩菜,但是呢,只有一个锅,一个铲子,你俩人都想抄,一个人对一个工具进行抢占(也就是加锁),造成你有铲子没有锅无法炒菜,你媳妇有锅没铲子也无法炒菜,你只能等媳妇把锅给你,你媳妇只能等你把铲子给他,造成僵持,谁也炒不...

2019-03-13 21:20:30 70

原创 通信队列基础Queue

----------------- Queue的使用---------------------#步骤1:导入模块from multiprocessing import Queue#步骤2:创建队列q=Queue(3)#()里可接整数,表示队列的容量,如果省略则表示不设上限的#步骤3:往队列里添加消息#格式:put(self, obj, block=True, timeout=None)...

2019-03-13 20:51:18 251

原创 消息队列阻塞基础

from multiprocessing import Queueq=Queue(3)#格式:put(self, obj, block=True, timeout=None)#参数:block,指阻塞,默认为真,表示如果队列已满,程序已满,##如果为False,表示不需要阻塞,如果队列已满,将会派出异常#timeout:表示阻塞时间,单位为秒。q.put(1)q.put(2)q.p...

2019-03-13 20:50:19 3089

原创 多进程任务处理理论知识

2019-03-12 22:31:02 81

原创 os操作系统

2019-03-12 22:29:23 184

原创 超文本链接基础

2019-03-12 22:28:02 276

原创 python通信模块

在这里插入图片描述client指客户端,server指服务器,request指客户端向服务器请求,response指客户端得到服务器的响应,

2019-03-12 22:22:06 515

原创 创建进程方法基础篇

#创建进程方法from multiprocessing import Processimport osfrom urllib import request#步骤1继承Process类class Process_Class(Process): #因为Process类本身也有__init__方法,这个子类相当于重写了这个方法 #但这样会带来一个问题,我们并没有完成的初始化一个...

2019-03-12 22:14:18 140

原创 进程池简单运用

#进程池from multiprocessing import Poolimport time,randomdef worker(msg):t_start=time.time()print("%s—开始执行"%(msg))time.sleep(random.random())#模拟工作所消耗的时间t_end=time.time()print("%s–执行完毕,消耗时间为:%.2f"...

2019-03-12 22:13:06 143

转载 RECT对象的方法

RECT对象的方法Pygame方法的具体使用规则pygame.Rect.copy - 复制矩形pygame.Rect.move - 移动矩形pygame.Rect.move_ip - 移动矩形,就位pygame.Rect.inflate - 增长或缩小矩形大小pygame.Rect.inflate_ip - 生长或缩小矩形大小,就位pygame.Rect.clamp - 将矩形移动到...

2019-03-07 15:37:03 1078

原创 python基础面试题

python面试题库——1Python基础篇第一部分 Python基础篇(80题)为什么学习Python?语言本身简洁,优美,功能超级强大,跨平台,从桌面应用,web开发,自动化测试运维,爬虫,人工智能,大数据处理都能做Python和Java、PHP、C、C#、C++等其他语言的对比?C语言由于其底层操作特性和历史的积累,在嵌入式领域是当之无愧的王者. PH...

2019-03-06 22:21:51 1704

原创 面向对象基础

class Student():def init(self,name,age,sex,score):self.name=nameself.age=ageself.sex=sexself.score=scorezs=Student(‘张淑珍’,19,‘男’,98)print(dir(zs))#dir 显示列表当中的属性print(zs.name,zs.age,zs.sex,zs....

2019-03-04 22:40:00 108

原创 python 异常篇

#=============异常+++++++++=a=[1,2]try:print(a[3])except IndexError as e:print(‘出现错误了’,e)print(‘程序结束’)#-------------------------------------a=[1,2]try:print(a[3])except:print(‘程序出错啦’)print...

2019-03-04 22:39:08 128

原创 面向基础操作

#======类和对象class Student():ID=0name=’’address=’’def hs(self):print(self.ID,self.name,self.address)zs=Student()zs.ID=1001zs.name=‘张三’zs.address=‘北京’zs.hs()ls=Student()ls.ID=1002ls.name=‘李...

2019-02-27 19:16:32 405

空空如也

空空如也

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

TA关注的人

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