1.7 KiB
1.7 KiB
常见模块
网络请求requests
# request
import requests
# 会话保持
session = requests.session()
# 设置header
session.headers.update(headers)
session.post(url, data=data)
===这个库是同步===
- session持久化到本地
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
支持同步&异步 API
,同时支持 HTTP/1.1
和 HTTP/2
。
日志模块
# python 已内置
import logging
# 日志模块
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
logger = logging.getLogger()
# 兼容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)
验证码
import ddddocr
ocr = ddddocr.DdddOrc
code = ocr.classification (二进制文件流)
uvicorn
一个专门用于为ASGI应用提供服务的Web服务器实现,它非常快,支持HTTP/2,可以与FastAPI等框架配合使用。