这个目录包含了用于网络测试和管理的实用工具脚本。
这个脚本可以测试网络连接的各项性能指标,包括下载速度、上传速度、延迟(ping)等,并支持结果可视化和历史数据记录。
- 测试网络下载速度、延迟(ping)和丢包率
- 支持多服务器测试(默认使用Cloudflare和Google DNS服务器)
- 记录历史测试结果,方便追踪网络性能变化
- 支持以表格形式显示测试结果
- 支持绘制历史数据趋势图表
- 可自定义测试参数(如测试大小、次数等)
使用此脚本需要安装以下Python库:
pip install requests tabulate如果需要绘制历史数据图表,还需要安装:
pip install matplotlib基本用法(测试下载速度和延迟):
python network_speed_test.py测试全部指标(包括上传速度):
python network_speed_test.py -a只测试网络延迟:
python network_speed_test.py -p查看历史测试记录:
python network_speed_test.py --history绘制下载速度历史趋势图:
python network_speed_test.py --plot download查看最近5条历史记录:
python network_speed_test.py --history --last 5usage: network_speed_test.py [-h] [-d] [-u] [-p] [-a] [--history]
[--plot {download,upload,ping}] [--last LAST]
网络速度测试工具
options:
-h, --help 显示帮助信息并退出
-d, --download 测试下载速度
-u, --upload 测试上传速度
-p, --ping 测试网络延迟(ping)
-a, --all 测试全部指标
--history 显示历史测试结果
--plot {download,upload,ping}
绘制历史数据图表
--last LAST 显示最近N条历史记录(用于--history和--plot)
测试结果将保存在用户主目录的 .network_speed_history.json 文件中,方便追踪网络性能变化。
此工具用于批量下载网络文件,支持并发下载、断点续传、自动重试等功能。
- 批量下载多个URL
- 支持并发下载提升效率
- 断点续传功能
- 下载失败自动重试
- 详细的进度显示
- 支持从文件读取URL列表
- 自定义HTTP头
- 详细的下载统计信息
- 支持自定义文件名和后缀
- 根据Content-Type自动添加文件扩展名
- 强制使用指定文件后缀,忽略URL中的后缀
- 支持随机延时,避免被网站识别为爬虫
- 支持保存下载状态,断开后继续下载
python batch_downloader.py [URL...] [选项]
选项:
-f, --file FILE 包含URL列表的文件,每行一个URL
-o, --output-dir DIR 下载文件保存目录 (默认: ./downloads)
-w, --workers NUMBER 并发下载数 (默认: 5)
-t, --timeout SECONDS 连接超时时间 (默认: 30秒)
-r, --retries NUMBER 下载失败重试次数 (默认: 3)
-s, --suffix EXT 默认文件后缀,当URL无法确定文件类型时使用
--force-suffix 强制使用指定的文件后缀,忽略URL中的后缀
--name-map FILE URL到文件名映射文件(JSON或CSV格式)
--no-verify 不验证SSL证书
--no-resume 禁用断点续传
--overwrite 覆盖已存在的文件
--header HEADER 添加HTTP头,格式为 'Name: Value'
--debug 启用调试日志
--no-progress 不显示进度条
--random-delay 启用随机延时,避免被检测为爬虫
--min-delay SECONDS 随机延时的最小秒数 (默认: 1.0)
--max-delay SECONDS 随机延时的最大秒数 (默认: 5.0)
--continue 继续上次未完成的下载
--state-file FILE 下载状态保存文件路径# 下载单个文件
python batch_downloader.py https://example.com/file.zip
# 从文本文件批量下载URL
python batch_downloader.py -f urls.txt -o ./downloads
# 使用10个并发连接下载
python batch_downloader.py -f urls.txt -w 10
# 为所有无后缀文件添加.mp4后缀
python batch_downloader.py -f urls.txt -s mp4
# 强制将所有文件保存为.torrent格式,忽略URL中的后缀
python batch_downloader.py -f urls.txt -s torrent --force-suffix
# 使用映射文件指定文件名
python batch_downloader.py -f urls.txt --name-map mappings.json
# 添加自定义HTTP头并启用随机延时
python batch_downloader.py -f urls.txt --header "Referer: https://example.com" --random-delay
# 继续上次未完成的下载
python batch_downloader.py -f urls.txt --continue您可以使用JSON或CSV格式的映射文件来为每个URL指定自定义文件名:
- JSON格式:
{
"https://example.com/file1": "自定义文件名1.mp4",
"https://example.com/file2": "自定义文件名2.pdf"
}- CSV格式:
https://example.com/file1,自定义文件名1.mp4
https://example.com/file2,自定义文件名2.pdf- Python 3.7+
- httpx
- tqdm (可选,用于进度显示)
安装依赖:
pip install httpx tqdm