自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法(下)

'''希尔排序:gap步长的概念,根据gap把alist分成多个部分,子list,分别进行插入排序过程即alist=[1,2,3,4,5,6,7,8,9,10]  gap=4分成 (1)1,5,9  (2)2,6,10  (3)3,7  (4)4,8    分别插入排序def shell_sort(alist):    n = len(alsit)    gap = n // 2 步长初始取值 取...

2018-07-03 18:41:02 182

原创 排序算法(上)

'''冒泡排序:最大的数像水泡冒出来,排到最后,两个数比较如果前边的数大于后边的那换位置def bubble_sort(alist):  顺序表    # 列表长度    n = len(alist)    # 控制次数,总共冒泡了n-1次,    for j in range(n-1):        # 控制每次,用索引拿出alist的每个元素比较,关键就是当前的次数决定需要比较的索引个数 n...

2018-07-03 18:40:24 263

原创 shell使用(下)

thing = 'shell''''7.流程控制if语句:if 条件then    指令else     指令fi (闭合)多if:if 条件then     指令elif 条件then    指令else     指令ficase语句:case 变量 in    value1)        指令1        ;; (命令分隔)    value2)        指令2        ;;...

2018-07-02 09:36:32 260

原创 shell使用(上)

'''1.shell命令(变量)$:声明一个变量echo 显示 echo $SHELL 显示shell路径bash 执行.sh的shell文件 bash first_shell.shlinux发行版: ubuntu   centos(yum install  )   redhat  kali渗透测试,黑客攻击软件预安装,可以玩一下脚本:单行注释 : #    多行注释 :   :<<!...

2018-07-02 09:35:33 478

原创 python爬虫-scrapy-redis分布式

'''10.scrapy-redis分布式组件分布式:多台机器协同完成,提高效率缩短时间scrapy-redis组件和普通scrapy的区别:(1)引擎和下载器没变化(2)每个分布式的爬虫是共同完成一个任务,每个爬虫的调度器和redis数据库相连,redis中有对url的去重和 url的队列,start_url是随机分配给一个爬虫文件开始执行,然后响应中新解析出来的url通过调度器放到redis中...

2018-06-14 23:12:51 529

原创 python爬虫-scrapy框架

'''1.简述之前自定义的爬虫,都是相似的过程,请求url,解析响应,保存数据,相同的逻辑,框架实现了封装结构,避免重复的逻辑,只关注不同点,针对不同的网站解析方法不同,而且不同的业务需求保存的方式也不同,所以只关注这些部分,scrapy的性能优越底层使用twisted自定义协议框架来写的而且实现分布式爬虫简单框架结构:Scrapy Engine: 中间商,核心引擎,其他部分都是通过引擎中转的Sc...

2018-06-12 17:18:22 381

原创 mongodb数据库(下)

'''7.条件查询db.集合名.find()db.集合名.findOne(查询条件) 单条查询db.集合名.find().pretty()  对查询结果美化比较运算$lt 小于$lte 小于等于$gt 大于$gte 大于等于$ne 不等于db.集合名.find({key:{$lt:n}})逻辑运算and:db.集合名.find($and:[{key1:'value1'},{key2:'value2...

2018-06-06 10:10:49 325

原创 mongodb数据库(上)

''1.简述mongodb是文档型的数据库 即储存的数据格式称作文档,底层是用js来写的,所以是符合js语法的 大{}格式面向文档(分布式文件储存)的NOSQL型数据库,mongodb同时操作内存和硬盘,内存缓存然后储存到硬盘中mongodb三要素数据库:有不同的数据库 database集合: mysql的表 就是mongodb中的集合 collection文档: 实际数据储存成文档documen...

2018-06-06 10:09:59 336

原创 正则表达式(下)

4.  注意问题例如:匹配163邮箱@163.com     中有个点     如果跟正则表达式中的限制符号冲突了  为了让正则识别我的点就是普通的点而不是限制符号     使用    转义符号:  \              写成@163\.com比如要匹配的内容有 \  ,如果你在正则中写 \,会被识别成转义符号这时候就要写 \\  可以理解成  第一个\是转义符号   第二个\就是它本身重...

2018-06-04 16:24:14 332

原创 正则表达式(上)

正则表达式让机器  严格  按照我给的正则表达式(限定条件),来寻找(抓取)符合我要求的内容Import re变量 = re.match(   ‘正则表达式’ ,’抓取的信息’ )获取:print(变量.group())1.匹配单个字符:匹配  一个  字节位置,下列的符号只表示这一个字节位置上是什么,没有带数量的限制符号# . 匹配任意1个字符(除了\n)# [ ] 匹配[ ]中列举的字符   ...

2018-06-04 16:22:58 280

原创 python爬虫(3)

'''1.多线程使用消息队列 queue来通信,把每个方法得到的数据放到消息队列中,每个方法就可以当做一个子线程开启,线程间使用queue来通信,即 put()放入,get()拿出,以前run函数中一套流程下来只是单线程,注意,使用while True就能保证线程始终执行,使用task_done()来保证主线程等待子线程的所有消息队列执行完,4个函数 生成url列表,请求,解析,保存,所以需要3个...

2018-06-02 23:51:05 339

原创 python爬虫(2)

thing = '爬虫解析''''1.数据分类非结构化:html和文本    解析:re和xpath结构和:json和xml      解析:json模块->python字典json模块:json肯定是一个字符串,这个字符串中是个字典 即' { } 'json转换json  -> python的dict   loads      加载成字典''''''2.正则re可是使用创建对象的方法...

2018-06-02 23:49:49 369

原创 协程

主进程的子进程,子进程有它自己的主线程,也就是说还可以开辟子线程迭代器   (__iter__方法:把类变成可迭代,方法里边创建迭代器和__next__方法:获取下一个值)生成器    结合列表推导式  g = (x * 2 for x in range(3))         注意yield 和 return  yield:代码执行到这个,看到yield暂停,等到再启动的时候执行yield后边的...

2018-06-01 14:02:14 1024

原创 进程

线程同步:使用join,其实只有一个线程执行udp端口占用有个立即释放 udp_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEPORT,True)os模块除了文件夹操作还有什么,好像没有了暂时没看到线程共享全局变量,进程不共享全局变量,进程实际是在自己本身中拷贝了一个全局变量,自己做更改   所有线程有个Lock,进程没有Lock互相不影响线...

2018-06-01 14:00:11 390

原创 线程

并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的变量 = threading(模块).Thread(方法)(target=函数名,没有括号,name='给线程起的名字',  传参数  少用元组args=(1,) 注意格式...

2018-06-01 13:59:13 299

原创 linux命令(下)

5.  grep   在文件里查找指定内容         格式  ‘内容’   内容+引号-n   显示行数-v    取反(不包括这个内容的部分)-i     不区分字母大小写##查找东西的时候结合   通配符         (用的地方很多)^a  :   以字母a开头的a$  :    以字母a结尾的[abc]  :   分别以a  b   c  为名字的   a.txt    b.txt...

2018-05-30 19:46:21 305

原创 Linux命令(上)

1.ls:(列表化)-a 显示隐藏文件-l 详细信息-h 文件大小(结合-l使用,看详细的大小)比较常用  ll  =  al针对  文件和文件夹的操作2.嵌套创建文件夹mkdir  -p3.rm-i  交互信息,是否要删除-r  递归删除,包含文件也能删除-f  存在直接删除,不存在报错,把报错隐藏不显示-ir  递归删除,询问信息你试试  -r  -i  格式不同效果:都是递归进入文件夹然后依...

2018-05-30 19:45:42 316

原创 python爬虫(1)

1.简述累积式爬虫:累积并去重增量式爬虫:增量式更新deep web:需要登录请求头:host 主机和端口Connection 链接类型Upgrade-Insecure-Requests 升级为httpsUser-Agent 身份Accept 接收的文件类型Referer 来源,用于防爬和防盗链(防止盗用链接,只允许按要求站内跳转)Accept-Encoding 支持编码类型 cookie''''...

2018-05-29 10:49:33 380

原创 python基础(7)

面向对象三大特性:封装、继承、多态属性私有: self.__money = 100 都是加两个下划线__方法私有: def __make_cook():父类里的私有不会被子类继承,而且调用的话只能父类在本身里边使用,在父类外边无法调用修改私有属性:类的外边无法修改 , 通过在类内部引入固定函数获取: get函数 : def get_私有属性名...

2018-05-29 10:46:47 311

原创 python基础(6)

'''面向对象编程关键词: 面向过程 面向对象 类 方法 对象 都是 类 里的类: 定义类=定义函数 class 类名(object): 其实就是python中提供的函数 类名:大驼峰(建议) # 一个函数定义在模块内 叫做函数 # 一个函数定义在类中 就叫做方法 方法:又叫 对象方法 ...

2018-05-26 13:20:55 342

原创 python基础(5)

'''文件相关操作文件: 所有的工作过程都是通过内存实现的,操作中使用内存,然后保存,执行内存储存到硬盘中(比如:U盘传东西,内容先进到内存然后写入硬盘)都是内置函数打开: 格式: open( '文件名字.文件格式' , 'w' 或者 'r') 里边是字符串来书写 文件格式:.txt .mp4 .mp3 .avi等等 ...

2018-05-26 13:18:20 331

原创 python基础(4)

'''引用:核心值变不变,是新的引用还是在老引用基础上变了,就看数据是可变还是不可变递归函数:函数可以嵌套,如果嵌套的自己,就是递归函数(实现阶乘),必须有停止条件类同循环匿名函数: 使用lambda代表匿名,就是简写形式 格式: lambda 参数 : 做什么 lambda 相当于 def 函数名 实际使用: 排序 (实现排序,...

2018-05-26 13:16:00 300

原创 python基础(3)

# 函数'''局部变量: 就是在函数内部定义的变量,其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的全局变量: 对全部函数起作用的变量, 当有全局变量 ,进行到del函数里有局部变量时,用局部变量的值,因为相当于重新赋值 这涉及到语法的执行等级上a = 100del 函数名( ) a = 300 这个函数里都取 a = 300 ...

2018-05-26 13:15:13 286

原创 python基础(2)

# 集合 集合中的元素是不重复的,每个位置的元素不重复,后台有重复,打印的时候前台自动去重 用途:列表元素去重时候,类型转换呗# 添加:add# update 和 extand 结果相同# 删除:remove 格式:集合名.remove(元素值)# pop 格式:集...

2018-05-26 13:10:38 710

原创 python基础(1)

# 基础变量的类型 1.str 2.bool 3.int 4.float# 基本元素# 字符串 str = ' ' 有序 不可改变# 列表 list = [ ] 有序 可以改变# 元组 tuple = ( ) 有序 不可改变# 字典 dict = { :, :}...

2018-05-26 13:05:51 245

原创 DRF框架(下)

'''1.request和responseDRF的request是Parser解析器处理过的请求request.data : POST,PUT,PATCH,表单,jsonrequest.query_params : ?后边的参数DRF的response是Renderer渲染器处理过的响应需要在settings中加入配置:REST_FRAMEWORK = {    'DEFAULT_RENDERER...

2018-05-25 13:37:22 4739

原创 DRF框架(中)

'''5.重写to_representation方法序列化器的每个字段实际都是由该字段的to_representation方法决定展示格式的,可以通过重写该方法来决定格式注意,to_representations方法不仅局限在控制关联对象格式上,适用于各个序列化器字段类型class BookRelateField(serializers.RelatedField):    """自定义新的关联字段...

2018-05-25 13:36:15 2169 1

原创 DRF框架(上)

# 其实就是Django RESTful Framework# RESTful一种API的命名风格,主要因为前后端分离开发出现# 前后端分离: 用户访问静态文件的服务器,数据全部由ajax请求给到# RESTful风格:数据应该是名词,而动词由HTTP的请求方式来体现# RESTful风格的API给前端返回 结果对象,无论什么请求方式'''特点: 反复重复因为不论什么请求方式,都需要给前端返回对象...

2018-05-25 13:33:06 7949

原创 django-表单和admin站点

'''1.表单django内置表单的内容, 使用forms模块的Form类在单独的forms.py文件中创建表单类和创建模型类的方法很像, 然后视图类用到表单,实例对象就可以Form类中内置一些方法,提供我们使用比如:form = BookForm(request.POST) post上传的请求数据,通过自定义的表单类拿出    form.is_valid() 验证表单数据的合法性    form...

2018-05-21 11:29:38 436

原创 flask学习-数据库

thing = '数据库'# ORM : 对象-关系映射   模型对象到关系数据库数据的映射   模型类操作数据库不用手写sql语句'''1.Flask-SQLALchemy扩展 (依然是集成  ORM 通过对模型类的操作来操作数据库)安装扩展:(操作数据库的 你得有数据库啊)pip install flask-sqlalchemy安装数据库pip install flask-mysqldb实例:...

2018-05-20 12:53:22 352

原创 redis数据库(下)

6.list增: 左插入 lpush key value    右插入 rpush    指定元素的前或后插⼊新元素    linsert key before或after 现有元素 新元素    查: lrange key start stop                 0     -1   是查询所有                    设置指定索引位置的元素值    lset key...

2018-05-19 22:59:33 315

原创 redis数据库(上)

1.简述高性能key-value(储存格式)可以暂时储存在内存中,但是暂时储存会丢失nosql数据库(非关系型数据库)由服务端redis-server 和 redis-cli组成 先启动服务端3.命令切换数据库 select num  (默认由16个数据库组成 num = 0-15)数据操作:1.redis是key-value的数据结构,每条数据都是⼀个键值对2.键的类型是字符串3.注意:键不能重...

2018-05-18 20:15:33 254

原创 flask学习-模板(下)

7.特有变量和函数模板语言,在函数中用render_template传到模板中,可以用变量和函数取一些值请求上下文: request 和 session应用上下文: 只有  g变量还有: config  和  url_for(可以作link) <a href="{{ url_for('index') }}">回到首页</a>消息闪现: get_flasked_massage...

2018-05-16 22:36:50 299

原创 flask学习-模板(上)

1.简述把数据库数据拿出来,塞到模板中就行,模板其实是一个包含响应文本的文件使用真实值(数据库) 替换变量(模板语言),再返回最终得到的字符串(return render_template方法),这个过程称为“渲染”render_template('模板名', key=value )1-1.{# 注释  #}1-2.{{变量代码块}}      可以任意写成python中的操作格式1-3.{% 控...

2018-05-09 20:00:13 309

原创 django学习-数据库(下)

5.数据库操作5-1.查询(1)F对象  对象的属性与常量值比较,不需要用F对象,但是 对象的属性与对象的属性比较(字段比较)BookInfo.objects.filter(bread__gte=F('bcomment') * 2)  把属性放到F对象中,且可以在F对象上使用算数运算(2)Q对象其实就是and , or , not ,当使用&表示逻辑与,|表示逻辑或,必须用Q对象BookI...

2018-05-07 22:13:00 296

原创 django学习-数据库(上)

1.配置Flask安装过 MySqldb,虽然有orm对象关系映射,但是有了sql语句,是安装数据库驱动包—执行orm的sql语句, Flask-MySqldbdjango : pip install PyMySQL但是django原生是使用MySqldb的,所以需要转换from pymysql import install_as_MySQLdbinstall_as_MySQLd...

2018-05-06 12:36:35 299

原创 flask学习-视图和路由(下)

6.异常捕获抛出异常:abort(状态码)捕获异常:装饰器 app.errorhandler(参数) 参数可以是状态码 或者 指定类型的异常ZeroDivisionError(除数为零的异常)@app.errorhandler(404)def page_not_found(error): return "咦~页面不见了~" return想让用户看到的界面7...

2018-05-05 13:13:06 340

原创 flask学习-视图和路由(上)

1.安装Flask框架:sudo pip install flask==0.10.1Flask两个核心Werkzeug(路由模板) 和 Jinja2(模板引擎),安装框架的时候自动安装2.flask框架基本格式2-1.全部开发工作是开发app,所有app.run()2-2.app从哪来,flask类框架提供 app = flask(__name__)2-3.flask所以要导入2...

2018-05-04 23:52:18 326

原创 django学习-路由和视图(下)

6.cookie:设置:HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期,单位为秒)读取:request.COOKIES.get('itcast1')session:session可以写入数据库或者本地缓存,或者混合 -> 实际写入redis安装扩展: pip install django-...

2018-05-03 23:19:54 327

原创 django学习-路由和视图(上)

1.工程搭建1-1.安装django :pip install django==1.11.111-2.创建工程:django-admin startproject 工程名称与项目同名的目录,是工程目录。settings.py 是项目的整体配置文件。urls.py 是项目的URL配置文件。wsgi.py 是项目与WSGI兼容的Web服务器入口。manage.py 是项目管理文...

2018-05-03 23:15:34 371

空空如也

空空如也

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

TA关注的人

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