把 fuhe0626.py(单文件脚本)整理成的项目版。功能不变:挑出 Excel 里「自动访问列」和「人工复核列」互相矛盾的网址,联网重新探活(DNS → TCP → HTTP),用实时结果当最终真相去修正「复核结果」列,并导出一张带颜色标记的 Excel + 一份日志。
cd website_rechecker
pip install -e . # 或:pip install -r requirements.txt不安装也能直接跑(包内无编译依赖,从项目根目录执行即可):
python -m website_rechecker --file 你的清单.xlsx依赖:pandas / requests / urllib3 / openpyxl(Python ≥ 3.8)。
# 交互式:不传 --file 会提示你输入路径(回车用默认 d:\bishe\复核_backup.xlsx)
python -m website_rechecker
# 直接指定文件,跳过 y/n 确认(适合批量/流水线)
python -m website_rechecker --file 清单.xlsx --yes
# 自定义输出名、开启 SSL 校验、调超时与限速
python -m website_rechecker --file 清单.xlsx --yes \
--output 复核_出.xlsx --verify-ssl \
--http-timeout 15 --sleep-min 1.5 --sleep-max 2.5参数:
| 参数 | 说明 |
|---|---|
--file |
Excel 文件路径(缺省则交互输入) |
--yes |
跳过「是否复核」的 y/n 确认,直接开跑 |
--output |
输出文件名(默认 网站增强复核结果_<时间戳>.xlsx) |
--verify-ssl |
开启 SSL 证书校验(默认关闭,过期/自签站点也能判可达) |
--http-timeout |
HTTP 请求超时(秒,默认 12) |
--sleep-min / --sleep-max |
每条之间的随机休眠区间(秒,默认 2.0~3.5,防被封) |
网站地址—— 待复核的网址是否能访问:\n1 能访问;0不能访问—— 自动爬虫/上一次的结论复核结果—— 人工复核填的 1/0(本工具会按实时结果改写这一列)
整行染色:🟡 黄 = 仍不一致需人工确认 / 🟢 绿 = 改为可访问 / 🔴 红 = 改为不可访问 / 🔵 蓝 = 确认一致。首行冻结、自动列宽。
- 修掉
www.假阴性:原脚本对裸域名无脑加www.再探测,若站点只在裸域名(或反过来)服务就会被误判「域名不存在」。现版本对裸域名与www.两种形式都尝试解析,取最先成功者。 - 404 软页识别更稳妥:保留「HTTP 200 但正文是 404 页」的启发式,但状态码判定仍为主,软页字符串只作补充(不再单独据此一票否决)。
- 从
input()改为 argparse:可非交互跑(--yes),避免管道化时 EOFError 中断。 - 模块拆分:
config / logging_utils / progress / checker / excelio / cli,纯逻辑(host 候选、不一致筛选、状态码分类)可单测。
- SSL 默认不校验(
verify=False),所以它不是安全扫描器,发现不了证书问题。 - 404 软页靠正文关键词猜,个别正常页面恰好含 "page not found" 等字样可能被误杀;以规范状态码为准更稳。
- 单线程 + 每条 2~3.5 秒休眠,不一致记录多时耗时较长(脚本会打印预计用时)。
- 生成的
.log与输出.xlsx落在当前工作目录,跑多了会堆一堆。