# 探迹电话线索采集

程序现在采用“先选择、后抓取”的任务流程：

- 登录成功后选择本次平台：亚马逊或沃尔玛。
- 程序只负责进入对应平台，不再写死美国站、加拿大站、北美或深圳市。
- 在探迹原生页面自由设置筛选条件。
- 程序读取页面底部的“已选条件”，再次确认后才开始解锁和抓取电话。
- 可为每个任务设置需要处理的新企业数量，默认值为 50。
- 自动点击详情页中的“查看号码”，采集一家企业的全部电话号码。
- 使用 SQLite 保存进度，并在所有批次、两个平台之间按电话号码永久去重。
- 每次运行会在数据库中记录平台、筛选条件、计划数量、实际数量和任务状态。
- 自动生成销售工作台、企业汇总和可追溯原始数据。
- 再次采集和导出时，保留 Excel 中人工填写的跟进状态。

## 运行

右键 `run.ps1`，选择“使用 PowerShell 运行”；也可以在当前目录执行：

```powershell
powershell -ExecutionPolicy Bypass -File .\run.ps1
```

如果通过 `rayniki.site` 的“电话采集”栏目使用，请双击
`启动本地采集助手.bat`。保持窗口运行，网站会自动检测助手并显示
“本地采集助手已连接”。网页只发送平台、数量、读取筛选、开始和停止指令；
探迹登录状态、数据库和 Excel 始终保存在当前电脑。

助手已经内置便携式 Python 和全部运行依赖，并优先使用 Windows 自带的
Microsoft Edge。员工不需要安装 Python、配置环境变量、运行 pip 或下载
Chromium；下载、解压后双击即可。

首次运行会安装浏览器组件，时间会稍长。程序会询问探迹账号和密码；密码输入时不会显示，也不会写入源码或日志。成功登录后，独立浏览器目录会保留登录状态。

如果探迹要求扫码或验证码，请在程序打开的浏览器中人工完成，然后回到终端按 Enter。

启动脚本会先检查探迹网络是否绕过 VPN。探迹域名会通过当前物理网卡直连，
Codex 和其他软件仍可继续使用 VPN。VPN 重连后临时路由可能失效，因此请始终
通过 `启动探迹采集.bat` 或 `run.ps1` 启动；首次建立路由时 Windows 可能要求
一次管理员授权。

登录完成后的使用顺序：

1. 在终端选择亚马逊或沃尔玛，并输入本次采集企业数。
2. 在自动打开的探迹页面中完成筛选。
3. 回到终端按 Enter，核对程序读取到的筛选条件。
4. 输入 `START` 后才会开始进入企业详情和解锁电话；输入其他内容会安全取消。

## 输出文件

- `data/探迹电话线索.xlsx`：销售线索工作台。
- `data/采集进度.db`：去重和断点续采记录，请勿删除。
- `data/错误_*.png`：页面结构变化或异常时生成的诊断截图。

按 `Ctrl+C` 可以安全停止。已经采集的号码会保留，下一次运行会从未处理企业继续。

## Excel 工作表

- `待拨打清单`：销售日常使用，一行一个电话号码。包含优先级、线索状态、联系人、电话类型、来源平台、企业详情链接、联系结果、负责人和跟进时间。
- `企业汇总`：一行一家公司，汇总号码数量、有效联系人、主营摘要等信息。
- `原始数据`：保留采集程序获取的完整字段，便于追溯。

`待拨打清单` 中的线索状态、联系结果、负责人、最近联系时间、下次跟进时间和备注会在后续导出时自动保留。来源平台和采集时获得的企业详情链接会随每条线索一起导出。

同一家企业的号码会连续排列，并纵向合并重复的“公司名称”“来源平台”“主营摘要”和“企业详情链接”。该规则会应用于每次后续采集导出。

## 调整数量

编辑 `config.json` 中的：

```json
"companies_per_platform": 50
```

探迹页面改版后，如果程序提示无法定位筛选项，请保留自动生成的错误截图，以便更新页面定位规则。
