FB 头像批量下载完整教程
一、背景说明
有时候我们需要批量收集 Facebook 小组里成员的头像,比如做数据分析、用户研究或者素材整理。Facebook 的头像有防爬保护,不能直接抓链接下载,必须模拟真实用户操作——点开图片、找菜单、点下载。
这个教程教你怎么用 OpenClaw 的 Agent Browser 技能配合 Playwright 脚本,实现半自动化批量下载。
二、前置准备
1. 软件环境
- OpenClaw 已安装并正常运行
- Chrome 浏览器 已安装(版本 146 或更高)
- Node.js 环境(脚本运行需要)
2. 安装必要技能
npx clawhub@latest install agent-browser
Agent Browser 是我们操作浏览器的核心工具,支持点击、填表、截图、滚动等所有常见操作。
3. 登录 Facebook
打开 Chrome 手动登录你的 Facebook 账号。建议用一个备用号,不要用主号,防止风控。
4. 创建存放目录
mkdir tasks\picture -Force
所有下载的头像都会保存在这里,文件名直接用用户名命名,方便识别。
三、工作原理
Facebook 新版 UI(2026 年 3 月后),头像已经不再是传统链接,而是 Canvas 或 Div 背景图。所以脚本采用坐标点击的方式:
- 根据视口位置(1280×900)计算头像的精确坐标
- 点击用户名旁边的小头像
- 在大图页面,点开"三点点"菜单
- 选择"下载"选项
这个方法经过多次实测,是目前最稳定的方案。
四、下载脚本说明
脚本文件:tasks/download-avatars.js
运行方式
在 OpenClaw 终端或 PowerShell 中运行:
node tasks/download-avatars.js
输入内容
脚本会提示你输入:
- Facebook 小组链接,或
- 用户主页 URL 列表
输出结果
每个用户处理后会返回一个状态:
| 状态 | 含义 |
|---|---|
success | 下载成功,头像已保存 |
locked | 主页被锁定,无法访问 |
avatar_is_story | 头像实际是快拍,没有可下载的图片 |
menu_click_failed | 三点点菜单点击失败 |
no_download | 菜单里没有下载选项 |
五、重要规则
1. 绝对不能直接下载 CDN 链接 Facebook 的头像 CDN 链接有时效性,直接请求会 403 或返回空图。
2. 不要去相册里找头像 很多用户设置了头像相册不可见,必须从主页的小头像入口进入。
3. 遇到快拍要判断 如果主页同时有"查看快拍"和"查看头像",只点"查看头像",快拍不是真正的头像。
4. Cookie 过期要重新登录 运行脚本时报"请先登录 Facebook",说明 Cookie 过期了,手动重新登录即可。
5. 文件名只用用户名 不要加数字 ID,避免重复下载时文件冲突。
六、常见问题
Q: 下载速度慢吗? A: 每个头像需要点开、等待、加截图,至少 3-5 秒,批量处理大概一小时 100 个左右。
Q: 会被封号吗? A: 频繁操作可能触发风控,建议用备用号,并控制频率。
Q: 能不能多开同时下载? A: 不建议,浏览器多开容易崩溃,而且容易被检测。