---
name: web-office-file-downloader
description: 从网页中下载 PDF、Word、Excel、PPT 等办公文件。使用 F12 开发者工具网络嗅探、浏览器扩展、源码搜索等方法。Use when the user asks for 网页文件下载, 在线PDF下载, 网页Word/Excel/PPT下载, F12/Network 抓取文档, 批量下载办公文档, or SkillHub version/update support for this skill.
网上办公文件下载 / Web Office File Downloader
目标
把用户有权访问的网页中嵌入或链接的办公文件(PDF、Word、Excel、PPT、CSV 等)提取到本地。支持一次处理多个网址,按网页标题单独建目录,保持原始格式,自动记录下载数量、跳过原因和失败方法。
不要绕过 DRM、付费权限、登录权限或版权保护。遇到加密、会员、付费文档等内容,只说明限制并给出合法替代方案。
快速流程
- 如果用户没有给保存路径,先让用户选择保存路径;不要替用户随意放到系统下载目录。
- 将多个链接整理为 URL 列表。每个网页单独输出到
序号_网页标题文件夹。 - 优先运行脚本:
python scripts/web_office_extractor.py --url "https://example.com/page1" --url "https://example.com/page2" --out "D:\用户选择的保存目录" --workers 3
- 如果网页需要浏览器登录态(如内网 OA、文库),可加:
python scripts/web_office_extractor.py --url "https://example.com/page" --out "D:\用户选择的保存目录" --cookies-from-browser chrome
- 读取
download_report.json和download_report.csv,向用户说明成功下载的文件数量和类型分布。
自动方法链
按顺序尝试,前一种方法失败再进入后一种:
- 右键复制链接地址(最快):在网页下载链接上右键 →「复制链接地址」→ 新标签页打开或直接粘贴到脚本处理。适用于明显的「下载」按钮或文件链接。
- F12 Network 抓取法:打开 F12 开发者工具 → Network 标签 → 清除记录 → 点击页面上的下载按钮 → 观察网络请求中出现的
.pdf/.docx/.xlsx/.pptx/.csv/.zip等请求 → 右键 → Copy link address → 新标签页下载。 - 源代码搜索法:按
Ctrl+U查看网页源代码,搜索.pdf、.docx、.xlsx、.pptx、.csv、href=、download=、.zip、.rar,将找到的链接补全为绝对地址后下载。 - 浏览器扩展批量法:安装 Chrono Download Manager、Download Master、SingleFile 等扩展,可自动嗅探页面中的文档链接并批量下载。
- 直接 URL 处理:已知文件直链时,脚本直接多线程下载。
详细人工操作指南见 extraction-methods.md。
支持的文件类型
| 类别 | 扩展名 |
|---|---|
.pdf |
|
| Word | .docx, .doc, .rtf, .odt |
| Excel | .xlsx, .xls, .csv, .ods |
| PPT | .pptx, .ppt, .odp |
| 文本 | .txt, .md, .log |
| 压缩包 | .zip, .rar, .7z |
| 图片 | .png, .jpg, .jpeg, .gif, .bmp, .svg |
输出规则
- 保存目录由用户选择;技能不得固定写死到下载目录。
- 每个网页使用网页标题建独立目录;文件名保持原始文件名和扩展名。
- 格式保持下载到的原始格式,不做转码或格式转换。
- 生成
download_report.json和download_report.csv,记录成功项、累计数量、跳过原因和失败方法。 - 按文件类型分别统计:PDF、Word、Excel、PPT、其他。
依赖
脚本只依赖 Python 3.8+ 标准库(urllib、http.client、json、csv)。无需额外安装。
如果使用 cookies-from-browser 模式,需要额外安装:
python -m pip install browser-cookie3
检查环境:
python scripts/web_office_extractor.py --check-deps
版本与更新
当前本地版本以 _meta.json 为准。
查询或更新:
python scripts/skillhub_update.py
python scripts/skillhub_update.py --download-to "E:\codexouput\tansuo\skillhub_packages\web-office-file-downloader_latest.zip"
python scripts/skillhub_update.py --install --target "C:\Users\JackZhou\.codex\skills\web-office-file-downloader"
python scripts/skillhub_update.py --install --target "C:\Users\JackZhou\.workbuddy\skills\web-office-file-downloader"
更新脚本只从环境变量读取 SKILLHUB_API_KEY,不得把密钥、cookie、账号信息写入技能包、日志、报告或压缩包。