# 常见模块 ## 网络请求requests ```python # request import requests # 会话保持 session = requests.session() # 设置header session.headers.update(headers) session.post(url, data=data) ``` ===这个库是同步=== * session持久化到本地 ```python import pickle import requests session = requests.Session() # 序列化成二进制文件 with open('session.pkl', 'wb') as f: pickle.dump(session, f) # 反序列化 with open('session.pkl', 'wb') as f: pickle.dump(session, f) response = session.get('https://httpbin.org/get') print(response.json()) ``` ## httpx https://www.python-httpx.org/ 支持同步&异步 `API`,同时支持 `HTTP/1.1` 和 `HTTP/2`。 ## 日志模块 ```python # python 已内置 import logging # 日志模块 logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s") logger = logging.getLogger() ``` ```python # 兼容pm2使用流模式 import logging import sys # 创建一个logger logger = logging.getLogger("test") # 创建一个handler,将日志发送到stdout stdout_handler = logging.StreamHandler(sys.stdout) # 创建一个formatter,定义日志输出格式 formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') # 将formatter添加到handler stdout_handler.setFormatter(formatter) # 将handler添加到logger logger.addHandler(stdout_handler) # 设置日志级别(可选) logger.setLevel(logging.INFO) ``` ## 验证码 ```python import ddddocr ocr = ddddocr.DdddOrc code = ocr.classification (二进制文件流) ``` ## uvicorn > 一个专门用于为ASGI应用提供服务的Web服务器实现,它非常快,支持HTTP/2,可以与FastAPI等框架配合使用。