惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
博客园 - 聂微东
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
F
Fortinet All Blogs
H
Help Net Security
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 叶小钗
L
LangChain Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium

Dejavu's Blog

甲骨文 ARM 实例部署 Gemma 4 模型 Headscale + Tailscale 组建虚拟专用网 在 Linux 上使用 Yubikey OpenPGP 应用 BuyVM VPS 块存储挂载教程 Alpine Linux 服务器配置指南 Alpine Linux 安装 Cloudflared Docker 多容器共享中心数据库 安装 Komari 服务器监控工具 Scaleway VPS 安装 Debian Linux Debian 13 下部署 AsmBB 论坛 使用 Kopia 自动化备份服务器数据 给 Docker 启用 IPv6 支持 Netcup 服务器安装自定义 ISO 镜像 烽火 HG5582A 光猫开启桥接模式 Docker 自托管 Shlink 短链服务 部署 Obsidian LiveSync 实时同步服务指南 我的 2025 年不完全回顾 Linux 下 Intel 核显驱动配置与硬件加速 Fedora Linux 安装配置记录 2025 年优雅地自托管 RSS 服务 Woodpecker CI 和 Gitea 实现 Hugo 自动部署 Gitea/Forgejo 集成 Woodpecker CI/CD 在 Blinko 中使用 Ollama 作为 AI 供应商 Docker 部署 Gitea/Forgejo Plausible CE 启用城市级地理位置识别 Blinko 开源 AI 知识库 Docker 部署指南 Netcup 免税账号注册及购买服务器全记录 Docker 自托管 Cloudreve Pro 私有网盘服务 GiffGaff SIM 卡使用体验和注意事项 简体中文互联网在变得糟糕吗?
巧用浏览器生成 HAR 文件批量下载所需网页资源
Dejavu Moe · 2025-10-15 · via Dejavu's Blog

引言

为了将最新的抖音默认 Emoji 表情包集成到 Twikoo 评论系统中,通过在浏览器开发者工具观察了抖音网页版资源加载情况,我发现这些资源(总数超过 200 个)统一存储在其对象存储服务的某个域名下的特定文件夹内。由于资源数量庞大,手动逐个下载显然不是一个好的方法(没错,但是我以前这么干过!)。

本文旨在记录和分享个人学习研究过程,请严格遵守相关法律法规,勿将此技术用于任何非法用途。

HAR 全称是 HTTP 存档格式 (HTTP Archive format) 本质上是 JSON 对象,主要用于记录网页浏览器与网站服务器 HTTP 会话的交互过程。这里面会包含网页请求的很多信息,当然包括所有资源的 URLs。

观察网页资源来源

举个例子,访问 抖音网页版 登录账号,可以在评论区看到它的默认表情包,右键任意一个默认表情包单击 检查,切换到 Sources 选项卡注意到默认表情包资源路径为 p3-pc-sign.douyinpic.com 域名的 obj/tos-cn-i-tsj2vxp0zn 目录下,我需要的就是这个路径下所有的 .webp 图片资源。

find-paths.webp

浏览器生成 HAR 文件

切换到 Network 选项卡,在过滤框输入资源路径:

  1. 打开录制按钮,确保它是红色的
  2. 清除现有请求
  3. 勾选 Preserve log 保留日志
  4. 点击 Reload page 刷新页面

filter-requests.webp

点击右上角的导出按钮,保存到本地的 www.douyin.com.har

gen-har-file.webp

提取资源 URLs 链接

我们直接使用 grep 和 awk 工具对 HAR 文件进行处理,将所有包含 p3-pc-sign.douyinpic.com/obj/tos-cn-i-tsj2vxp0zn 的资源链接每行一条 URL 提取出来,写入到 douyin_urls.txt

grep -o '"url": "[^"]*obj/tos-cn-i-tsj2vxp0zn[^"]*"' www.douyin.com.har | awk '{gsub(/"url": "/, ""); gsub(/"/, ""); print}' > douyin_urls.txt

批量下载资源

使用 cURL 批量下载 douyin_urls.txt 里面的资源

echo "开始批量下载图片并添加 .webp 扩展名..."
while IFS= read -r url; do
    if [ -n "$url" ]; then
        base_name=$(echo "$url" | awk -F'/' '{print $NF}' | awk -F'?' '{print $1}')
        final_filename="${base_name}.webp"
        curl -s -L -o "$final_filename" "$url"
        echo "已下载:$final_filename"
    fi
done < douyin_urls.txt
echo "所有图片下载完成。文件已保存在当前目录下。"

完成,享受😎!

参考信息: