带宽优化笔记Notes, guides and reference material.

PikPak 怎么批量下载一整个目录

PikPak 里一整个目录的文件想批量下载,但点进去一个个下太慢,还容易漏,尤其当目录下有几百个文件时,手动操作根本不可行。你可能已经试过右键“下载全部”,结果发现只是把当前页面的文件列下来,没真正递归所有子文件夹,或者下载链接失效、断了又得重来。更糟的是,有些文件夹结构嵌套深,层级超过三层,PikPak 客户端或网页版默认只展开到某一层,导致你根本看不到全部内容。这时候,核心问题不是“不会用”,而是你没意识到:**PikPak 的批量下载功能本质上依赖于服务器端的目录遍历能力,而这个能力在某些情况下会被限流、缓存或权限限制屏蔽,导致你以为的“全选”其实只是“可见部分”**。

解决的关键在于绕过界面的视觉限制,直接获取目录下的完整文件列表并批量处理。第一步,打开 PikPak 的网页版(推荐使用 Chrome 浏览器),进入目标目录。不要只看前端展示的内容,先按 `F12` 打开开发者工具,切换到 Network 标签页,刷新页面,观察请求中是否有类似 `/api/v2/directory/list` 这类接口。找到这个接口后,复制它的完整请求地址,比如:

``` https://pikpak.com/api/v2/directory/list?path=/%E7%89%88%E6%9D%83%E6%96%87%E6%A1%A3/2024 ```

把路径替换成你实际要下载的目录路径,注意路径必须是编码过的,比如中文要用 `%E4%B8%AD%E6%96%87` 这种格式。然后把这个链接粘贴到浏览器新标签页打开,如果返回的是一个包含所有子文件和子目录的 JSON 数据,说明你拿到了真实目录结构。

接下来,用 Python 或 JavaScript 写个脚本自动提取所有文件的 download_url。例如用 Python 脚本读取 JSON,遍历每一项,判断 `type == 'file'` 且 `download_url` 存在,就把它加入下载队列。关键判断依据是:**只有当 response 里的 `is_folder` 字段为 false,且 `download_url` 字段不为空,才表示该条目是可直接下载的文件**。若某个条目 `is_folder == true`,则需要继续递归调用 API,直到拿到所有文件。 延伸阅读:简历照片和排版的第一印象实操经验。 延伸阅读:Clash 分流规则怎么写才不漏域名。

如果你发现某个文件夹虽然显示存在,但请求返回的 `files` 列表为空,那很可能是权限问题——该目录被设为“仅分享者可见”或已被移除访问权限。此时即使你看到目录名,也无法获取内部内容。另一个常见陷阱是:**PikPak 会限制单次请求最多返回 100 条记录,所以你需要分页拉取,通过 `page_token` 参数循环请求,直到返回的 `next_page_token` 为空为止**。

一旦获得完整的文件列表,你可以用 aria2、wget、或写个简单的下载脚本批量执行。建议用 aria2 配合 .conf 配置文件,支持多线程和断点续传,避免因网络波动导致重头再来。配置时记得加上 `header="Authorization: Bearer <你的 token>"`,token 可以从浏览器的 Cookie 里提取,但注意时效性。

至于你提到的“AI 生成简历后还要改哪些地方要注意什么”,别只盯着语法通顺——重点是检查有没有夸大经历、技能描述是否与岗位要求精准匹配、项目成果是否用了可量化的数据支撑;而“Clash 配置改完不生效怎么确认原因”,别急着重启,先查日志,看是否报错 `Invalid config format`,再确认规则是否加载成功,比如用 `curl -v http://localhost:7890/config` 检查响应头,若返回 404 或空内容,说明配置未正确写入内存,需重新保存并重启服务。

最后提醒:不要相信 PikPak 界面的“一键下载”按钮,它只处理当前视图内的文件。真正的大批量下载,必须通过接口抓取完整目录结构,再结合脚本自动化处理。否则,你永远在重复点“下载”却漏掉一半文件。