xXBricksquadXx/NexusCrawl
GitHub: xXBricksquadXx/NexusCrawl
一款异步双传输数据挖掘引擎,集成HTTPX和Playwright,专为公民审计、JS密集型网站侦察和深度媒体归档而设计。
Stars: 0 | Forks: 0

# NexusCrawl
一款异步、双传输数据挖掘、历史归档和网络侦察引擎。专为公民审计、大规模数据集提取、深度媒体保存和源代码克隆而构建。
## 核心架构
NexusCrawl 采用高并发、混合事件循环:
- **HTTPX(标准路由):** 高速、低开销的异步请求,用于静态 DOM 解析和 HTTP `HEAD` 侦察。
- **Playwright(重型路由):** 无头 Chromium 集成,用于提取 JavaScript 渲染的(React/Angular/Vue)数据表、交互式 DOM 元素,并在提取前执行客户端脚本。
### 弹性与数据管道
- **指数退避屏蔽:**
内置的 `RetryMiddleware` 可拦截 HTTP `429`(限速)和 HTTP `403`(禁止)服务器拒绝,暂停特定 worker,并优雅地重试连接,而不会终止主爬取任务。
- **异步文件流:**
利用 `aiofiles` 防止桌面 RAM 瓶颈。无论是 `.jsonl` 字典字符串、克隆的 `.css` 文件,还是 2GB 的 `.mp4` 二进制文件,数据都会直接流式传输到磁盘。
# Spider 矩阵
| CLI 名称 | 目标文件 | 主要功能 | 渲染引擎 | 输出管道 |
| --------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------ | -------------------- |
| `foia_hunter` | `spiders/civic_spider.py` | 深度爬取、递归分页和异步 `HEAD` 探测,以发现并提取隐藏的政府文档(PDF、CSV、ZIP)。 | HTTPX | `AsyncMediaPipeline` |
| `table_miner` | `spiders/table_spider.py` | 接管浏览器,将复杂的、分页的 2D JS 数据网格扁平化为结构化字典。 | Playwright | `JsonLinesPipeline` |
| `media_archive` | `spiders/video_spider.py` | 两阶段深度钻取器。扫描目录,排队观看页面,并流式传输高分辨率 `.mp4` / `.webm` 二进制文件。 | HTTPX | `AsyncMediaPipeline` |
| `web_recon` | `spiders/recon_spider.py` | 导航至目标,执行客户端脚本,并将渲染后的 HTML、CSS 和 JS 克隆到本地仓库中。 | Playwright + HTTPX | `SourceCodePipeline` |
# 安装与设置
## 1. 安装 Python 依赖项
```
pip install -r requirements.txt
```
## 2. 安装无头 Chromium(Playwright 必需)
```
playwright install chromium
```
# 执行命令
NexusCrawl 完全通过 CLI 使用 `main.py` 驱动。
## 在默认硬编码目标上运行 spider
```
python main.py --spider table_miner
```
## 使用自定义 URL 覆盖默认目标
```
python main.py --spider foia_hunter --url "https://www.justice.gov/oip/foia-library"
```
## 执行 Web 侦察克隆
```
python main.py --spider web_recon --url "https://target-domain.com"
```
# 数据输出结构
运行该框架将根据启用的管道自动生成以下本地目录:
```
/civic_audit_data.jsonl
/media/
/recon_vault/
```
### `/civic_audit_data.jsonl`
用于结构化表格数据和文本提取的平面 JSON Lines 文件。
### `/media/`
存储二进制文件,例如:
- 图片
- 视频
- PDF
- CSV 数据集
### `/recon_vault/`
按目标域名和文件类型组织的克隆网站源代码:
```
/recon_vault
/domain-name
/html
/css
/js
```
# 项目目的
NexusCrawl 专为大规模信息发现和保存工作流而设计,包括:
- 公民审计调查
- 政府数据发现
- 媒体归档
- Web 基础设施侦察
- 数据集提取与保存
标签:BSD, JS渲染, Playwright, Python, T1595, T1596, 公民审计, 反爬虫对策, 大数据采集, 密码管理, 异步编程, 情报收集, 政府文档挖掘, 数据归档, 数据挖掘, 无后门, 无头浏览器, 深度媒体保存, 漏洞研究, 特征检测, 网站侦察, 网络安全审计, 逆向工具