【免费下载链接】ruyipage
下一代Python的web自动化过检测框架,AI自我调试运行,trace日志可分析一切网页链路,通过一切网站检测的Firefox指纹浏览器。RuyiPage is a Python-based Firefox automation framework built on the next-generation WebDriver BiDi protocol.
ruyiPage 是一个基于Firefox + WebDriver BiDi 协议的 Python 网络抓包与浏览器自动化框架,内置page.capture被动抓包 API:三步即可捕获任意请求与响应,拿到请求头、请求体、响应头、响应体和状态码,且不拦截、不暂停、不修改请求。对于做接口分析、数据采集、AI 网页链路分析的新手来说,这是目前最简洁的 Python 被动抓包方案之一 🚀
为什么用 ruyiPage 做网络抓包?
传统方式抓包通常依赖浏览器 DevTools 手工操作,或者基于 CDP(Chrome DevTools Protocol)的框架,存在三个痛点:
- 手工操作难落地:DevTools 抓到包后还要手动复制,无法直接写进自动化脚本
- CDP 框架易被检测:Chrome 路线自动化特征明显,遇到 Cloudflare、DataDome 等风控经常抓不到关键接口
- 拦截式抓包副作用大:请求被暂停、修改后,网站可能触发风控
ruyiPage 的思路完全不同:它运行在自带过检测能力的 Firefox 指纹内核上,page.capture是纯被动监听——请求照常发出,框架只在背后把完整包记录给你,没有任何自动化检测点,更适合高风控站点的请求与响应捕获场景。
三步完成被动抓包:start / wait / stop
整个流程只有三步:启动捕获 → 正常触发请求 → 等待并读取结果。
第一步:启动被动抓包 capture.start
from ruyipage import launch page = launch(headless=False, window_size=(1280, 900)) # targets:URL 匹配规则;method:方法过滤;collect_bodies:是否采集请求体/响应体 page.capture.start("bing.com", method="GET", collect_bodies=True)⚠️ 关键规则:先 start,再打开页面。如果请求已经发出,任何抓包接口都不能补抓历史包。
参数说明(源码见 ruyipage/_units/capture.py):
| 参数 | 说明 |
|---|---|
targets | True抓全部;字符串做 URL 子串匹配;列表任意命中即可 |
method | 按 GET/POST/PUT 等过滤,大小写不敏感,None不过滤 |
is_regex | 把字符串目标当作正则表达式 |
collect_bodies | True时自动管理内部 DataCollector,直接可读请求体与响应体 |
第二步:正常打开页面触发请求
抓包是被动模式,触发动作由你按正常方式写——打开页面、点击按钮、执行 JS 都行,页面自动加载的接口同样会被捕获:
page.get("https://www.bing.com/search?q=ruyipage")第三步:读取请求头与响应体
# count=1 返回单个包;超时返回 None packet = page.capture.wait(timeout=15) print(packet.url) # 请求 URL print(packet.method) # HTTP 方法 print(packet.request_headers) # 请求头(小写 key 的普通 dict) print(packet.request_body) # 解码后的请求体,GET 通常为 None print(packet.response_status) # 状态码,失败请求为 0 print(packet.response_headers) # 响应头 print(packet.response_body) # 解码后的响应体(HTML/JSON/text 均返回字符串) page.capture.stop() # 停止并释放内部资源 page.quit()拿到CapturePacket后,请求与响应完整对应,可以直接交给 AI 分析接口结构,或写解析逻辑提取数据。
进阶:一次捕获多个请求与响应
批量抓包:wait的count参数支持一次抓多个包,count>1返回列表,超时会返回已抓到的部分:
packets = page.capture.wait(timeout=15, count=5) for p in packets: print(p.response_status, p.method, p.url)不确定会加载多少包:先page.wait(3)等几秒,再读历史包列表page.capture.steps,它会保留本轮start后捕获的全部包。
正则匹配 URL:接口路径带动态参数时,用is_regex=True:
page.capture.start(r"/api/v1/items/\d+$", method="POST", is_regex=True)需要改包/伪造响应?那就换主动拦截 APIpage.intercept:在beforeRequestSent阶段可修改请求头、Mock 响应、阻止请求;配合collect_response=True还能一步读取响应体,详见 examples/18_advanced_network.py 和 examples/40_scraper_packet_capture.py。
高风控网站抓包实战
很多站点的接口藏在 Cloudflare 盾之后,普通自动化框架进都进不去。ruyiPage 自带过检测的 Firefox 内核,可以直接通过 Cloudflare 5s 盾、DataDome、hCaptcha 等检测,再执行被动抓包:
下面这张是完整采集链路的真实运行截图:脚本在左侧输出捕获到的站点 Cookie 与请求信息,右侧 Firefox 正常浏览目标站,全程被动监听、无干扰 👇
推荐直接运行官方示例 examples/54_bing_passive_capture.py,它演示了最完整的三步流程:先capture.start,再打开 Bing 搜索页,最后读取自动加载请求的请求头/请求体/响应头/响应体,还支持--count、--timeout、--target等命令行参数,方便你替换成任意目标站点。
相关示例与源码文件
| 文件 | 用途 |
|---|---|
| examples/54_bing_passive_capture.py | 被动抓包完整示例(本文三步流程的完整版) |
| examples/40_scraper_packet_capture.py | GET/POST 接口数据采集,一步读响应体 |
| examples/40_1_request_header_capture.py | 真实追踪页抓取 POST 请求头与载荷 |
| examples/18_advanced_network.py | 拦截、改头、Mock、fetchError 等高级网络功能 |
| examples/google_response_listen.py | 监听指定响应包并直接读响应文本 |
| ruyipage/_units/capture.py | CaptureManager / CapturePacket 核心实现 |
| README.md | 官方文档,含page.capture完整 API 说明 |
快速上手清单
- 安装框架并配置 Firefox 运行环境:
pip install ruyiPage --upgrade,再执行python -m ruyipage install下载配套 runtime - 记住三步:
capture.start→ 正常触发请求 →capture.wait - 用
packet.request_headers / request_body / response_status / response_body直接取数 - 结束前调用
page.capture.stop()释放内部 DataCollector
掌握这三步,你就可以把任意网站的请求与响应捕获进 Python 脚本,交给解析器或 AI 完成分析。更多接口细节参考 README.md 中的"被动抓包"章节。
【免费下载链接】ruyipage
下一代Python的web自动化过检测框架,AI自我调试运行,trace日志可分析一切网页链路,通过一切网站检测的Firefox指纹浏览器。RuyiPage is a Python-based Firefox automation framework built on the next-generation WebDriver BiDi protocol.
相关推荐
ZCode Debug 包网络抓包机制解析:本地 MITM CA 容器与请求捕获实战
ZCode Debug 包网络抓包机制解析:本地 MITM CA 容器与请求捕获实战 本篇文章以 ZCode 仓库中 debug 包证书目录说明 https:/
OpCore-Simplify终极指南:10分钟搞定黑苹果配置的完整免费解决方案
OpCore Simplify终极指南:10分钟搞定黑苹果配置的完整免费解决方案 还在为复杂的OpenCore配置而头疼吗?OpCore Simplify通过智
开发工具CLIStruts2-Scan实战指南:高效漏洞检测与利用的5大技巧
Struts2 Scan实战指南:高效漏洞检测与利用的5大技巧 Struts2 Scan是一款功能强大的Struts2全漏洞扫描利用工具,能够帮助安全测试人员快
网络安全漏洞扫描渗透测试应用安全
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考