ahmadvahidi/NameScout
GitHub: ahmadvahidi/NameScout
NameScout 通过姓名或用户名跨七大社交平台并行搜索并聚合公开账号信息,帮助用户快速完成跨站身份关联与数据导出。
Stars: 0 | Forks: 0
# NameScout 🔍
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
基于 [kiryano](https://github.com/kiryano) 的 [Scout](https://github.com/kiryano/Scout) 开发。
## 功能
NameScout 接收一个人的**全名**(或精确用户名),并同时跨 7 个以上的平台进行搜索:
- **按姓名** — 生成可能的用户名变体(`firstlast`、`first_last`、`first.last` 等)并全部进行尝试,此外还会使用搜索 API 对 GitHub、YouTube 和 Twitch 进行搜索
- **按用户名** — 在所有平台上并行搜索该精确账号
- **导出** — 将结果保存至 CSV
- **信息丰富** — 通过 SMTP 验证邮箱(可选)
## 安装
```
git clone https://github.com/ahmadvahidi/NameScout.git
cd NameScout
pip install -r requirements.txt
cp .env.example .env
```
或者作为包安装:
```
pip install -e .
```
## 用法
### 按姓名搜索
```
python -m namescout "Elon Musk"
```
生成用户名变体(`elonmusk`、`elon_musk`、`elon.musk` 等)并搜索所有平台。
### 按精确用户名搜索
```
python -m namescout --username elonmusk
```
在所有平台上并行搜索 `@elonmusk`。
### 筛选平台
```
python -m namescout "Ahmad Vahidi" --platform instagram,github,youtube
```
别名:`ig`、`tt`、`gh`、`yt`、`tw`、`pin`、`lt`
### 导出至 CSV
```
python -m namescout "John Doe" --export results.csv
```
### 启用邮箱信息丰富
```
python -m namescout "Jane Smith" --enrich
```
通过 SMTP 验证找到的邮箱,并对置信度进行评分。
### 详细模式
```
python -m namescout "Mark Zuckerberg" --verbose
```
## 支持的平台
| 平台 | 按姓名搜索 | 按用户名搜索 | 需要授权 |
|-----------|:---:|:---:|:---:|
| Instagram | ✅(变体) | ✅ | 无 |
| TikTok | ✅(变体) | ✅ | 无 |
| GitHub | ✅(API 搜索) | ✅ | 无(60 次请求/小时) |
| YouTube | ✅(搜索抓取) | ✅ | 无 |
| Twitch | ✅(搜索抓取) | ✅ | 无 |
| Pinterest | ✅(变体) | ✅ | 无 |
| Linktree | ✅(变体) | ✅ | 无 |
| LinkedIn | ❌ | ✅ | 需要 Cookie |
## 工作原理
### 姓名搜索(2 个阶段)
**阶段 1 — 搜索 API:**
使用其原生搜索功能,通过此人的全名搜索 GitHub、YouTube 和 Twitch。抓取靠前的结果以获取个人资料详情。
**阶段 2 — 用户名变体:**
对于 Instagram、TikTok、Pinterest 和 Linktree,NameScout 会根据姓名生成 15 个以上的用户名变体并逐一尝试。保留第一个包含有效数据的匹配项。
### 用户名搜索
所有 7 个平台都将使用该精确用户名进行并行查询。结果将在获取后立即显示。
## 配置 (.env)
```
# LinkedIn cookie(用于 LinkedIn 抓取)
# LINKEDIN_COOKIE=your_li_at_cookie_value
# Hunter.io API key(可选,用于 email enrichment)
# HUNTER_API_KEY=your_hunter_api_key
# Proxy(可选)
# SCOUT_PROXY=http://user:pass@host:port
# SCOUT_FREE_PROXY=true
```
## 输出示例
```
============================================================
NameScout v1.0.0 — Name: "Ahmad Vahidi"
Trying 14 username variants + search APIs
Platforms: instagram, tiktok, github, youtube, twitch, pinterest, linktree
============================================================
[Phase 1] Searching by name...
GitHub search: no results
YouTube search: found 5 channels
→ @AhmadVahidi-f8h
→ @ahmadvahidi5025
Twitch search: no results
[Phase 2] Trying username variants...
============================================================
RESULTS for "Ahmad Vahidi"
============================================================
✅ Instagram
Name: Ahmad Vahidi
@ahmad_vahidi
Followers: 135
✅ TikTok
Name: Ahmad Vahidi
@ahmad.vahidi
Followers: 59
✅ Pinterest
Name: Ahmad Vahidi
@ahmad_vahidi
============================================================
Found 3 profile(s) across all platforms.
============================================================
```
## 限制
- **Instagram/TikTok** 可能需要重试,或者会根据地区/IP 提供 CAPTCHA
- **GitHub API** 在无 token 的情况下限制为每小时 60 次请求
- **YouTube/Twitch 搜索** 采用了网页抓取技术——如果它们更改了 HTML 结构,可能会失效
- **LinkedIn** 需要 session cookie,且不包含在姓名搜索中
- **免费代理** 不太稳定;不使用代理可获得最佳效果
## 致谢
- **抓取器** 改编自 [kiryano](https://github.com/kiryano) 的 [Scout](https://github.com/kiryano/Scout)
- **NameScout** 由 [Ahmad Vahidi](https://github.com/ahmadvahidi) 开发
## 许可证
MIT — 详见 [LICENSE](LICENSE)
标签:ESC4, ESC8, OSINT, Python, 多平台搜索, 无后门, 社会工程学, 网络足迹, 逆向工具