![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
red-frog
阻塞和非阻塞是一种状态,对应于同步和异步这两种过程
展开
-
Mongodb(二)
索引优点与缺点 优点:用于提高数据读取速度,提高查询效率 缺点: 会降低表更新速度 占用磁盘空间 基本命令 唯一索引,实现唯一约束,1(升序),-1(降序) db.集合名.ensureIndex({“name”:1},{“unique”:true}) 联合索引,对多个属性建立一个索引,按照find()出现的顺序 db.集合名.ensureIndex({name:1,age:1}) 查看索引原创 2017-08-19 20:34:26 · 247 阅读 · 0 评论 -
scrapy(二)
请求与响应请求GET Request类 重要参数 url:目标url callback:目标url对应的解析函数 meta:传参,,字典形式 headers:请求头,模拟伪装 dont_filter: 该请求是否被过滤器过滤 cookies:cookies参数 meta传参原理 Scheduler(调度器)将requests请求实例,(此实例中含有meta参数)给了下载器,Downloader(原创 2017-08-21 20:46:16 · 376 阅读 · 0 评论 -
Python扁平化写法(不断更新)
目的:为了增加代码可读性,更加简洁,欢迎大家批评补充列表生成式list = [a for a in range(10)] 字典生成式 将列表转换为字典 temp_list = ['a=b', 'c=d'] dict = {i.split("=")[0]:i.split("=")[1] for i in temp_lsit} 生成字典简单写法 make_dict = dict(a="b", c="d原创 2017-08-14 00:32:22 · 3494 阅读 · 0 评论 -
Scrapy框架
Scrapy框架结构及各模块功能框架结构模块功能 Scrapy Engine(引擎): 处理整个系统各个模块间信号 Spiders(爬虫类): 发起起始的请求 定义如何爬取一个网站,获取数据 Scheduler(调度器): 从此处拿到url 接收请求,压入队列 Downloader(下载器): 接收请求,返回响应 ItemPipeline(管道): 数据后续处理 Scrapy框架爬虫开发流原创 2017-08-19 00:18:36 · 1201 阅读 · 0 评论 -
path
nginx/usr/local/nginx 查询nginx主进程号:ps -ef | grep nginx 关闭:kill -9 进程号 - 启动:sudo /usr/local/nginx/nginxmongodb数据实例:/var/lib/mongodb日志:/var/log/mongodb原创 2017-10-29 15:49:29 · 299 阅读 · 0 评论 -
UDP编程
模拟qq聊天# -*- coding:utf-8 -*- import socket from threading import Thread def read_msg(socket, msg): print(msg) while True: receive_msg, IP = socket.recvfrom(1024) print("from %s:原创 2017-10-22 18:39:06 · 249 阅读 · 0 评论 -
TCP通信
tcp服务器# -*- coding:utf-8 -*- import socket def main(): # 创建套接字 service_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 设置属性,可以重复使用IP service_socket.setsockopt(socket.SOL_SO原创 2017-10-22 18:42:31 · 238 阅读 · 0 评论 -
多进程、多线程、协程实现并发
多线程并发# -*- coding:utf-8 -*- # 实现理由:不让客户端去等待连接 import socket from multiprocessing import Process def talk(sock): while True: # 写while True 的原因,可以让客户端多次发消息 msg_IP = sock.getpeername()原创 2017-10-22 19:04:08 · 529 阅读 · 0 评论