未提供项目描述
项目描述
Groove
Python API用于Groove,这是一个为网络爬取和单元测试模拟而构建的代理服务器。其主要功能亮点:
- 支持HTTP和HTTPs,通过HTTP/1和HTTP/2。
- 在Mac和Linux上生成和安装本地CA证书,以支持系统curl和Chromium。
- 支持不同级别的缓存 - 从完全禁用到积极维护所有正文归档。
- 将同一URL的外出请求限制为1个并发请求,以节省带宽(如果请求已经进行中)。
- 记录和重放发送到外部服务器的请求。在单元测试中重现测试流程,同时将其与爬取业务逻辑分离。
- 支持第三方代理的商业代理。
- 支持自定义TLS Hello客户端,以在拦截请求并重新转发数据包的同时维持类似Chromium的TLS握手。
更多信息请参阅Github项目。
用法
将groove添加到您的项目中,并安装允许生成https证书的本地证书
pip install groove
install-ca
使用默认参数实例化Groove通常适用于大多数部署。为了确保我们在完成代理后清理资源,请将您的代码包装在launch
上下文中。
from groove.proxy import Groove
from requests import get
from pathlib import Path
proxy = Groove()
with proxy.launch():
response = get(
"https://www.example.com",
proxies={
"http": proxy.base_url_proxy,
"https": proxy.base_url_proxy,
},
verify=str(Path("~/.grooveproxy/ca.crt").expanduser()),
)
assert response.status_code == 200
创建一个完全假的出站测试
from groove.proxy import Groove
from groove.tape import TapeRecord, TapeRequest, TapeResponse, TapeSession
from requests import get
from pathlib import Path
records = [
TapeRecord(
request=TapeRequest(
url="https://example.com:443/",
method="GET",
headers={},
body=b"",
),
response=TapeResponse(
status=200,
headers={},
body=b64encode("Test response".encode())
),
)
]
proxy = Groove()
with proxy.launch():
proxy.tape_load(
TapeSession(
records=records
)
)
response = get(
"https://www.example.com",
proxies={
"http": proxy.base_url_proxy,
"https": proxy.base_url_proxy,
},
verify=str(Path("~/.grooveproxy/ca.crt").expanduser())
)
assert response.content == b"Test response"
项目详情
关闭
groove-1.0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7f722df5098d27473ada8473dc8166b6a45545f71e211d251aaba3357e994c3b |
|
MD5 | 59ceeb5054bc8725f2d21c2fa2e8b277 |
|
BLAKE2b-256 | 5ba6ced84bed5a639a893167ea9041535350dc0c108251ae0c171adca8a0f061 |
关闭
groove-1.0.4-cp310-cp310-manylinux_2_31_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 17cdd7fe8f0ab93a89f28e1e81316f8e28b2d83889b4d6d39d087e1e2f46f51c |
|
MD5 | 4dd4c7150a829926b00908190365d7da |
|
BLAKE2b-256 | 31c5d4bf3ffa410935e6641780b1ac52c5e7a621569b54ca06fb1a71b2a7ac7d |
关闭
groove-1.0.4-cp310-cp310-macosx_11_0_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e89696e8ccb6e683758b5f6dee99936ad94fb2c1c48b5aac33e13f2ded37f7ca |
|
MD5 | 395e74e7dc6b054d65175d0625ba4e98 |
|
BLAKE2b-256 | c00125dbdb9f3b29f0eeb36384b2b212e8bb6075dd7d8c5a9a8301f5031f2ed5 |