03 2020 档案
摘要:一个简单爬虫案例 from bs4 import BeautifulSoup import os import requests response = requests.get("http://www.90xiaohua.com/") response.encoding = "utf-8" # pr
阅读全文
摘要:一个简单的爬虫案例 from scrapy_redis.spiders import RedisSpider import os,urllib.request,time class XiaohuaSpider(scrapy.Spider): name = 'xiaohua' allowed_doma
阅读全文
摘要:1. Django例如:在Django中,执行数据库的增删改查,执行命令前后加日志2. flask例如:在执行before_request 之前,定义信号,执行函数3. scrapy例如:爬虫刚开始,爬虫快要结束定制函数
阅读全文
摘要:1. scrapy框架:大而全的爬虫组件。 2. 安装:注意:scrapy依赖Twisted - Win:下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twistedpip3 install wheel pip install Twisted-19.10
阅读全文
摘要:先进先出:队列 class Queue(object): def __init__(self): self.q = [] def push(self, v): self.q.append(v) def pop(self): try: l=self.q.pop(0) print(l) except I
阅读全文
摘要:HTTP是一个简单的请求和响应协议,建立在tcp 之上。它规定了客户端向服务器发送什么样的请求和得到服务器什么样的响应。 http 是一次请求一次响应,然后断开(无状态,短连接), 请求和响应都是字符串,通过\r\n分割,两个\r\n 分割请求头与请求体 常见请求头内容:host、user——age
阅读全文
摘要:1. OSI五层协议 应用层 HTTP 传输层 tcp/udp 网络层 通过源IP找目标IP, ARP、ICMP 数据链路层 IP找mac 物理层 2. tcp 和 udp 3. tcp 三次握手,四次挥手 4. 交换机与路由器(1)交换机 一个局域网通信(2)两个局域网相互通信 5.dns 域名解
阅读全文
摘要:一:长轮询 1. 长轮询:实时更新,使用队列技术来做,如果要是没人投票,卡住30秒,如果还是没人投票卡主30秒,以此类推,如果有人投票,立即实时更新数据2. websocket 能实现,但是兼容性不好 import queue q = queue.Queue() q.put('123') val =
阅读全文
摘要:requests: 发送HTTP请求,接收响应 1. 如果浏览器能访问,requests不能访问,最坏是把浏览器请求头部,都写到requests请求头部中 import requests from bs4 import BeautifulSoup r1 = requests.get( url='ht
阅读全文
摘要:1. functools.wraps(func) 保留原函数元信息2. local中为什么要维护成一个栈答:因为stack对应的列表中,只能有一个值3.为什么导入request,就能使用答:每次执行request.xx 方法时,会触发localproxy对象中的__getattr__等方法,由方法每
阅读全文
摘要:wtform 钩子函数def validate_name(self, field): #validate_后面接的列名 print(field.data, "钩子函数获取的值") #validate_后面接的列名是谁,field.data 打印就是谁的值 if not field.data.star
阅读全文
摘要:1. Django和flask操作数据方法(1)Pymysql(2)orm Django自带orm flask 使用第三方 SQLAlchemy2. class对应表名,定义一行一行的属性,代表列,对象代表数据3. SQLAlchemy 基础操作,单表操作4. 正反向查找(1)一对多、多对多 通过r
阅读全文
摘要:一:响应式布局、数据库1. 响应式布局:根据浏览器窗口和像素大小不同,页面显示不同效果,在bootstrap 中,通过@media实现 2. 数据库(引擎)查看引擎命令:show engines;(1) innodb 特点:支持事务锁(for update):表锁,行锁 begin; select
阅读全文
摘要:1. 基础如果要谈类,就需要从它的三大特性说起:(1)封装:把方法封装成类,数据封装到对象中 应用案例:flask 请求上下文管理,把request、session 封装到requestcontext中(2) 继承:多个类中有相同方法,把相同方法创建类,大家在继承父类。 应用案例:rest fram
阅读全文
摘要:一:threading.local作用:为每个线程或协程创建一个内存空间,存取数据,空间与空间相互独立,达到数据隔离的作用 1. threading.local 应用场景:多个线程同时访问一个数据,这时肯定会出错现在有两种解决方案:(1)需要给数据加锁,一个线程访问完数据之后,另外一个线程才能访问(
阅读全文
摘要:1. flask-sqlalchemy 构建目录,让目录结构更加清晰2. flask-script 通过输入命令来运行项目,类似于Django3. flask-migrate 数据库迁移(默认sqlalchemy创建数据库之后,不能修改字段,通过flask-migrate可修改,它是依赖flask-
阅读全文
摘要:一:请求上下文管理1. 主要管理 request 和 session2. 流程(1) 请求进来调用__call__ 方法,__call__ 调用wsgi_app方法(2)将请求数据和空session封装成requestcontext对象,简称ctx(3)将ctx传给localstatck 对象,lo
阅读全文
摘要:一: 配置文件: 原理:通过字符串导入模块,反射找类,在获取到类中的静态属性,并且静态属性必须是大写, 使用 importlib(1) 把字符串切割成两份:模块和类(2)使用importlib 导入类(3) 通过反射获取类对象(4)通过dir()获取对象的方法和属性 app.config.from_
阅读全文

浙公网安备 33010602011771号