09 2018 档案

摘要:协程实现消费者生产者模型 注意到consumer函数是一个generator,把一个consumer传入produce后: 首先调用c.send(None)启动生成器; 然后,一旦生产了东西,通过c.send(n)切换到consumer执行; consumer通过yield拿到消息,处理,又通过yi 阅读全文
posted @ 2018-09-30 09:06 gugubeng 阅读(124) 评论(0) 推荐(0) 编辑
摘要:#任何实现了 __iter__ 和 __next__ 方法的对象都是迭代器,所以生成器是一种特殊的迭代器#生成器的标志是yied 函数class Range: def __init__(self, start, end=None, step=1): if end is None: self.end = start self.... 阅读全文
posted @ 2018-09-29 21:10 gugubeng 阅读(123) 评论(0) 推荐(0) 编辑
摘要:# 插入排序算法 def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist[i] blist[j]: blist[i], blist[j] = blist[j], blist[i] return bl... 阅读全文
posted @ 2018-09-29 20:37 gugubeng 阅读(111) 评论(0) 推荐(0) 编辑
摘要:常见的http状态码 100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。 101: 转换协议 在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。只有在切换新的协议更有好处的时候才应该采取类似措施。 102 阅读全文
posted @ 2018-09-29 15:28 gugubeng 阅读(124) 评论(0) 推荐(0) 编辑
摘要:1、bs4 BeaufulSoup 和lxml一样都是用于解析html的框架,对数据的分析和提取。 和lxml相比,效率略低,用起来比较方便 bs4需要下载安装: pip install bs4 2、jsonPath(了解) 安装:pip install jsonpath 3、selenium se 阅读全文
posted @ 2018-09-29 15:25 gugubeng 阅读(132) 评论(0) 推荐(0) 编辑
摘要:1、代理服务器 ​ 1、为什么要使用代理服务器? ​ 有时候用同一个ip去抓取某个网站时,时间久了就会被该网站屏蔽。此时可以通过代理服务器,去代替我们真实的IP去爬取。 ​ 2、从哪里能够获取到代理服务器? ​ 代理服务器一般是要花钱购买的,如果用于实验也可以用免费的 ​ http://www.ku 阅读全文
posted @ 2018-09-29 15:23 gugubeng 阅读(107) 评论(0) 推荐(0) 编辑
摘要:1、POST和GET ​ get请求: ​ 1)创建url字符串(这个字符串中带有请求体) ​ 2)创建请求头 ​ 3)根据url和请求头创建请求对象 ​ 4)通过请求对象发起get请求 ​ post请求: ​ 1)创建url字符串(这个字符串中不带请求体) ​ 2)创建请求头 ​ 3)创建请求体 阅读全文
posted @ 2018-09-29 15:22 gugubeng 阅读(123) 评论(0) 推荐(0) 编辑
摘要:1、爬虫的概念 ​ 概念:Spider(网络蜘蛛),通过互联网生的一个个的节点,获取其中的数据,然后进行分析存储 ​ 爬虫的三个过程:数据的获取、数据的分析、数据的存储 ​ 爬虫的分类 ​ 通用爬虫: ​ 主要用于搜索引擎,百度、谷歌、360、必应等 ​ 工作原理: ​ 数据的获取=>网页的分析=> 阅读全文
posted @ 2018-09-29 15:21 gugubeng 阅读(142) 评论(0) 推荐(0) 编辑
摘要:阿里云项目部署 部署Django项目 部署Django项目 部署Django项目 部署Django项目 部署Django项目 部署Django项目 1, 配置nginx 1.1 进入:cd /var/www, 将外面压缩好的AXF项目拖入xshell中,并解压 1.2 配置nginx.conf: 将 阅读全文
posted @ 2018-09-29 15:06 gugubeng 阅读(188) 评论(0) 推荐(0) 编辑
摘要:阿里云项目部署 ( 如果xshell连接不上阿里云: 解决方法: 1, 在淘宝IP地址库查看当前IP: http://ip.taobao.com/ 2, 点击进入:安全(云盾) -> 安骑士(服务器安全)-> 设置 -> 安全配置 3, 在‘登录IP拦截加白’中点击添加, 将当前公网添加后点击确定 阅读全文
posted @ 2018-09-29 15:04 gugubeng 阅读(170) 评论(0) 推荐(0) 编辑
摘要:阿里云部署项目 1, 购买阿里云ECS云服务器(可免费试用1个月) 2, 阿里云实例更换为Ubuntu 3, 安全组配置 4, xshell远程连接 5, 创建虚拟环境: 5.1 linux基本命令 cd ls, ls -a pwd df -h python python3 apt update ​ 阅读全文
posted @ 2018-09-29 15:02 gugubeng 阅读(142) 评论(0) 推荐(0) 编辑
摘要:项目开发流程&项目架构 1. 软件开发的一般流程 1. 需求分析及确认: 由需求分析工程师与客户确认甚至挖掘需求。输出需求说明文档。 ​ 2. 概要设计及详细设计: 开发对需求进行概要设计,包括系统的基本处理流程,组织结构、模块划分、接口设计、数据库结构设计等。然后在概要设计的基础上进行详细设计。详 阅读全文
posted @ 2018-09-29 15:00 gugubeng 阅读(764) 评论(0) 推荐(0) 编辑
摘要:中间件&验证码&富文本&缓存 1. 中间件&AOP 中间件:是一个轻量级的,底层的插件,可以介入Django的请求和响应过程(面向切面编程) ​ 中间件的本质就是一个python类 ​ 面向切面编程(Aspect Oriented Programming)简称AOP。AOP的主要实现目的是针对业务处 阅读全文
posted @ 2018-09-29 14:17 gugubeng 阅读(306) 评论(0) 推荐(0) 编辑
摘要:token&静态文件&媒体文件 1. token 1. 会话技术 2. 服务端会话技术 3. 它实际上就是手动实现的session 4. 实现token 4.1 在models.py中User类中添加token字段 class User(models.Model): name = models.Ch 阅读全文
posted @ 2018-09-29 14:14 gugubeng 阅读(500) 评论(0) 推荐(0) 编辑
摘要:views 1. 视图及HttpRequest 和HttpResponse Django中的视图主要用来接受Web请求,并做出响应。 视图的本质就是一个Python中的函数 视图的响应分为两大类 1)以Json数据形式返回 (JsonResponse) 2)以网页的形式返回 2.1)重定向到另一个网 阅读全文
posted @ 2018-09-29 14:10 gugubeng 阅读(244) 评论(0) 推荐(0) 编辑
摘要:day 05 models进阶 1.models基本操作 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表。 对于ORM框架里: 我们写的类表示数据库的表 如果根据这个类创建的对象是数据库表里的一行数据 那么对象.属性(对象.id 对象.value)就是每一 阅读全文
posted @ 2018-09-29 14:06 gugubeng 阅读(373) 评论(0) 推荐(0) 编辑
摘要:models模型 1. models 定义属性 概述 django根据属性的类型确定以下信息 ·当前选择的数据库支持字段的类型 ·渲染管理表单时使用的默认html控件 ·在管理站点最低限度的验证 django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则d 阅读全文
posted @ 2018-09-29 14:02 gugubeng 阅读(253) 评论(0) 推荐(0) 编辑
摘要:admin后台系统 1. 安装MySQL 1,安装mysql: sudo apt install mysql-server (安装过程中输入密码并牢记) 2,安装后进入mysql: mysql -u用户名 -p密码 mysql -uroot -proot ​ 3,在Django中配置和使用mysql 阅读全文
posted @ 2018-09-29 13:58 gugubeng 阅读(541) 评论(0) 推荐(0) 编辑
摘要:1. URL URL地址说明: URL地址说明: URL地址说明: URL地址说明: URL地址说明: URL地址说明: 使用url给视图函数传参数 在url配置中将正则部分小括号括起来。比如: url(r'^time/plus/(\d{1,2})/$', views.hours_ahead) 如果 阅读全文
posted @ 2018-09-29 11:55 gugubeng 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:1.1, virtualenv的概述 virtualenv是用来创建Python的虚拟环境的库,虚拟环境能够独立于真实环境存在,并且可以同时有多个互相独立的Python虚拟环境,每个虚拟环境都可以营造一个干净的开发环境,对于项目的依赖、版本的控制有着非常重要的作用。 虚拟环境有什么意义? 比如: 我 阅读全文
posted @ 2018-09-29 11:52 gugubeng 阅读(743) 评论(0) 推荐(0) 编辑
摘要:Django+uwsgi+nginx nginx和uwsgi的区别和作用: 1, nginx是对外的服务器,外部浏览器通过url访问nginx, uwsgi是对内的服务器,主要用来处理动态请求。 2, nginx接收到浏览器发送过来的http请求,将包进行解析,分析url, a.如果是静态文件请求就 阅读全文
posted @ 2018-09-29 11:47 gugubeng 阅读(4873) 评论(0) 推荐(0) 编辑
摘要:阿里云部署Flask项目 部署Flask项目和部署Django项目基本一致,我们也使用uwsgi+nginx 部署Flask项目和部署Django项目基本一致,我们也使用uwsgi+nginx 部署Flask项目和部署Django项目基本一致,我们也使用uwsgi+nginx 部署Flask项目和部 阅读全文
posted @ 2018-09-29 11:37 gugubeng 阅读(247) 评论(0) 推荐(0) 编辑
摘要:FlaskDay06 Flask项目-淘票票 RESTful REST一种软件架构风格、设计风格、而不是标准,只是提供了一组设计原则和约束条件。它主要用户客户端和服务器交互类的软件. ​ 在前后端分离项目中, 一般使用Flask-RESTful来实现 REST一种软件架构风格、设计风格、而不是标准, 阅读全文
posted @ 2018-09-29 11:36 gugubeng 阅读(645) 评论(0) 推荐(0) 编辑
摘要:RESTful API 什么是REST 一种软件架构风格、设计风格、而不是标准,只是提供了一组设计原则和约束条件。它主要用户客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等。 REST全称是Representational State Transfer,表 阅读全文
posted @ 2018-09-29 11:29 gugubeng 阅读(702) 评论(0) 推荐(0) 编辑
摘要:模型进阶 多对多关联 用户收藏电影,一个用户可以收藏多部电影, 一部电影可以被不同的用户收藏, 是一个多对多关系. ​ # 中间表(不是模型) collects = db.Table('collects', # user_id为表字段名称, user.id为外键表的id db.Column('use 阅读全文
posted @ 2018-09-29 11:24 gugubeng 阅读(366) 评论(0) 推荐(0) 编辑
摘要:数据迁移 安装 pip install flask-migrate 初始化 使用app和db进行migrate对象初始化 from flask_migrate import Migrate migrate = Migrate() migrate.init_app(app=app, db=db) 安装 阅读全文
posted @ 2018-09-29 11:20 gugubeng 阅读(537) 评论(0) 推荐(0) 编辑
摘要:会话技术 Cookie 客户端端的会话技术 cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过来 ​ 特点: - 客户端会话技术,浏览器的会话技术 - 数据全都是存储在客户端中 - 存储使用的键值对结构进行的存储 - 特 阅读全文
posted @ 2018-09-29 11:18 gugubeng 阅读(284) 评论(0) 推荐(0) 编辑
摘要:Flask简介 Flask是一个基于Python实现的Web开发‘微’框架 'MicroFramework' Django是一个重型框架 官方文档: http://flask.pocoo.org/docs/0.12/ 中文文档: http://docs.jinkan.org/docs/flask/ 阅读全文
posted @ 2018-09-29 11:12 gugubeng 阅读(730) 评论(0) 推荐(0) 编辑
摘要:cors跨域 什么是跨域 跨域(跨源)是指浏览器从一个源的网页去请求另一个源,源指的是域名、端口、协议 以下都属于跨域问题 域名: 主域名不同: http://www.baidu.com/index.html –> http://www.sina.com/test.js 子域名不同: http:// 阅读全文
posted @ 2018-09-29 10:58 gugubeng 阅读(430) 评论(0) 推荐(0) 编辑
摘要:celery 介绍 Celery - 分布式任务队列. Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。 ​ 它是一个专注于实时处理的任务队列,同时也支持任务调度. ​ Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列 阅读全文
posted @ 2018-09-29 10:39 gugubeng 阅读(206) 评论(1) 推荐(0) 编辑
摘要:SOCKET TCP协议: 有请求 有响应 称之为 tcp协议 是面向连接的协议 就是在收发数据之前 必须先要建立一个可靠的链接 三次握手 如:网站 UDP协议: 是一个非链接的协议 传输之前不需要键连接 如:qq,飞秋 Socket又称套接字 向网络发出请求 或者应答网络请求 可以实现在一台计算机 阅读全文
posted @ 2018-09-27 21:11 gugubeng 阅读(221) 评论(0) 推荐(0) 编辑
摘要:正则表达式 概念: 正则匹配就是一个模糊的匹配 只要符合我的匹配规则 就会认为是正确的数据(精确的匹配) 1.[] #代表原子表把想要匹配的内容写入原子表中 匹配包含的任意一位字符 [a] #匹配小写字母a [ab] #匹配小写字母a或者b [aAbB] #匹配字母a或b [195] #匹配任意一位 阅读全文
posted @ 2018-09-27 21:06 gugubeng 阅读(228) 评论(0) 推荐(0) 编辑
摘要:日期和时间 一、time模块 import time 时间戳: 时间戳是指格林威治时间1970年1月1日0时0分0秒至现在的秒数 s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒), ​ 其中:1s=1000ms,1 ms=1000μs,1μs=1000ns s(秒)、ms(毫秒)、μs(微秒)、n 阅读全文
posted @ 2018-09-27 21:01 gugubeng 阅读(224) 评论(0) 推荐(0) 编辑
摘要:pillow 图片处理模块 安装 pip install pillow pip是安装第三方模块的工具 pip install pillow pip是安装第三方模块的工具 pip install pillow pip install pillow pip install pillow pip inst 阅读全文
posted @ 2018-09-27 20:59 gugubeng 阅读(217) 评论(0) 推荐(0) 编辑
摘要:一、pickle序列化的操作 使用说明:可以将数据 转换成2进制 写入到文件中 或者之间返回 做到将数据原样写入 原样取出 import pickle (1) dump 写入文件中 pickle.dump(数据,文件的IO) (2) dumps 直接返回 pickle.dumps(数据) (3) l 阅读全文
posted @ 2018-09-27 20:57 gugubeng 阅读(193) 评论(0) 推荐(0) 编辑
摘要:面向对象 一、概念 类(class): 用来描述具有相同属性和方法的对象的集合 对象是类的实例化 类变量:类变量在整个实例化的对象中是共用的。定义在类中 并且是函数体外的 实例变量:只能作用于 当前类的实例化后的某一个对象上 实例: 创建一个类的具体实例 类的具体化对象 方法: 就是类中的函数 属性 阅读全文
posted @ 2018-09-27 20:52 gugubeng 阅读(199) 评论(0) 推荐(0) 编辑
摘要:文件操作 一、函数: f = open(’文件名','打开方式'[,encoding='字符编码']) open 打开的方式 二、文件的写 f.write() f.writelines() 以列表的形式 写入多行 f.flush() 刷新缓冲区 将内容立即写入文件中 f.tell() 返回当前的位置 阅读全文
posted @ 2018-09-27 20:45 gugubeng 阅读(136) 评论(0) 推荐(0) 编辑
摘要:OS模块 概念:包含了普遍的操作 系统的功能 一、函数 路径: 相对路径 ./ 当前目录 (不加 默认也是当前) ../ 代表上一级 ./ 当前目录 (不加 默认也是当前) ../ 代表上一级 绝对路径 从磁盘根下到文件的路径 C:\Users\xlg\PycharmProjects\szpytho 阅读全文
posted @ 2018-09-27 20:21 gugubeng 阅读(132) 评论(0) 推荐(0) 编辑
摘要:异常处理 一、需求 当遇到错误的时候 不让程序停止执行 而是越过错误继续执行 二、主体结构 (抓取所有异常) try: 可能出现异常的代码段 except: 出现异常以后的处理 try: 可能出现异常的代码段 except: 出现异常以后的处理 try: 可能出现异常的代码段 except: 出现异 阅读全文
posted @ 2018-09-27 20:13 gugubeng 阅读(116) 评论(0) 推荐(0) 编辑
摘要:列表推导式 概念:提供了一种创建列表的简单快速的途径 (1) 一般形式 myList = [x for x in range(10)] ​ #分解后 myList = [] for x in range(10): myList.append(x) print(myList) myList = [x 阅读全文
posted @ 2018-09-27 20:11 gugubeng 阅读(148) 评论(0) 推荐(0) 编辑
摘要:迭代器和生成器 迭代器 iterator 可以直接作用于for循环的 称为可迭代对象(iterable)可以通过 isinstance 判断是否属于可迭代对象 可以直接作用于for循环的数据类型为: 列表,字典,集合,元组,字符串... generator 带yield的函数 实例 判断哪些是可迭代 阅读全文
posted @ 2018-09-27 20:00 gugubeng 阅读(141) 评论(0) 推荐(0) 编辑
摘要:函数 一、什么是函数? 函数是可以实现一些特定功能的 小方法 或者是小程序 优点: 提高 了代码的后期维护 增加了代码的重复使用率 减少了代码量 提高了代码可读性 二、函数的定义 使用 def关键+函数名([参数]): ​ 函数体 函数的命名规则: 遵循变量的命名规则 三、函数名 (1) 函数的调用 阅读全文
posted @ 2018-09-27 19:45 gugubeng 阅读(2602) 评论(0) 推荐(0) 编辑
摘要:流程控制 流程结构分为3种 顺序结构 分支结构 循环结构 一 分支结构 (1) 单一条件分支 主体结构: if 条件表达式: #为真得代码块 if 条件表达式: #为真得代码块 if 条件表达式: #为真得代码块 if 条件表达式: #为真得代码块 if 条件表达式: #为真得代码块 if 条件表达 阅读全文
posted @ 2018-09-27 19:22 gugubeng 阅读(195) 评论(0) 推荐(0) 编辑
摘要:一、List 列表 概述: 列表是python 使用最频繁的一种数据类型 格式: 列表是由 [ ] 里面可以存储不同类型的值 称之为列表 取值方式: 和字符串一样 列表[头下标:尾下标:步长] 实例: myList = ['a','b',1,2] print(myList) #原样输出 print( 阅读全文
posted @ 2018-09-27 19:17 gugubeng 阅读(218) 评论(0) 推荐(0) 编辑
摘要:(1)数字类型常用的函数 (2)import random (3)字符串的转义字符 (4)字符串的格式化 输出 格式为: %s 代表格式化字符串 %d 代表格式化整数 $f 代表格式化 浮点数 %.2f 其中的2代表保留小数位数 会四舍五入 %10.2f/-10.2f 代表当前浮点数的值 靠右还是靠 阅读全文
posted @ 2018-09-27 19:01 gugubeng 阅读(183) 评论(0) 推荐(0) 编辑
摘要:redis Redis(Remote Dictionary Server)是一个开源使用的非关系型数据库 通常被称为数据结构服务器,因为值可以是字符串,哈希,列表,集合,有序集合 优势 ​ 性能极高,读取速度110000次每秒,写的速度81000次每秒 ​ 数据类型丰富,低延时、高吞吐、纯内存 ​ 阅读全文
posted @ 2018-09-27 17:53 gugubeng 阅读(242) 评论(0) 推荐(0) 编辑
摘要:NoSQL Mongodb NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。 MongoDB是一个介于关系型数据和非关系型数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,其数据结构由键值(key=>value)对组成。 M 阅读全文
posted @ 2018-09-27 17:48 gugubeng 阅读(523) 评论(0) 推荐(0) 编辑
摘要:一 Python 操作 MySQL import pymysql pip install pymysql (1) 连接MySQL数据库 db = pymysql.connect(主机名,用户名,密码,数据库名) db = pymysql.connect(主机名,用户名,密码,数据库名) db = p 阅读全文
posted @ 2018-09-27 17:42 gugubeng 阅读(650) 评论(0) 推荐(0) 编辑
摘要:运算符 = 等于 <> 不等于 > >= < <= like 像 ,模糊查询 %用来通配 -- INSERT INTO grade(g_name,g_student_num) VALUES('HTML1804',45); #查询所有 SELECT * FROM grade; ​ #查询班级名称包含1 阅读全文
posted @ 2018-09-27 17:38 gugubeng 阅读(167) 评论(0) 推荐(0) 编辑
摘要:mysql 数据库:保存有组织的数据的容器。(通常是一个文件或一组文件) 表:某种特定类型数据的结构化清单。数据库中的每个表都有一个名字,用来标识自己,此名字是唯一的 列:表中的一个字段。所有表都是由一个或多个列组成。数据库中每个列都有相应的数据类型。数据类型定义列可以存储的数据种类。 行:表中的一 阅读全文
posted @ 2018-09-27 17:35 gugubeng 阅读(291) 评论(0) 推荐(0) 编辑
摘要:chmod :用来改变文件或目录的访问权限 语法格式:chmod 【参数选项】 【mode】【文件或者目录】 参数选项: -v :显示权限变更的详细信息 -R :对当前目录下的所有文件以及子目录进行相同的权限变更 ​ (以递归的当时逐个变更) mode :是权限标记。可以有符号标记和八进制数两种格式 阅读全文
posted @ 2018-09-27 17:28 gugubeng 阅读(243) 评论(0) 推荐(0) 编辑
摘要:新建代码库repository 1、在当前目录新建一个git代码库 git init git init projectname 2、下载一个项目,如果已经有了远端的代码,则可以使用clone下载 git clone url 增加/删除/改名文件 1、添加指定文件到暂存区 git add filena 阅读全文
posted @ 2018-09-27 17:13 gugubeng 阅读(105) 评论(0) 推荐(0) 编辑
摘要:PS :显示系统进程 -a :显示所有进程(包括其他用户的进程) -u :用户以及其他详细信息 -x :显示没有控制终端的进程 -ef :显示所有 top :用于动态地监视进程活动与系统负载的信息 pidof :用于查询某个指定服务进程的PID值。每个进程的PID是唯一的,因此通过PID来区分不同的 阅读全文
posted @ 2018-09-27 16:53 gugubeng 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Linux目录结构 / :根目录。位于分层文件系统的最顶层,可以说它包含了所有的目录和文件 /bin :系统可执行目录 /sbin :系统管理员的可执行文件 /boot :存放用于启动linux系统的所有文件 /dev :设备目录。linux会将所有的设备当做文件处理,只提供一个接口,就是文件读写接 阅读全文
posted @ 2018-09-27 16:50 gugubeng 阅读(121) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示