You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从fb.watch短链接中提取对应的Facebook视频ID

从fb.watch短链提取Facebook视频ID的可行方案

fb.watch是Facebook的短链服务,访问时会自动重定向到携带真实视频ID的正式页面,可通过以下3种方式提取真实ID,适配不同使用场景:

方法1:解析重定向链路(无额外依赖,最简便)

原理:向短链发送HEAD请求(无需下载完整页面,性能开销极低),从重定向后的最终地址中提取ID。
操作步骤:

  • 向目标fb.watch短链发送HEAD请求,配置允许跟随最多3次重定向,设置普通浏览器UA避免被拦截
  • 最终重定向地址格式通常为https://www.facebook.com/[用户名]/videos/[真实视频ID]/...或https://www.facebook.com/video.php?id=[真实视频ID]
  • 用正则匹配提取地址中的10-20位纯数字串即可得到真实视频ID

示例Python代码:

import requests
import re

def extract_fb_video_id(short_url):
    resp = requests.head(short_url, allow_redirects=True, timeout=10, headers={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
    })
    match_res = re.search(r'videos/(\d+)|video\.php\?id=(\d+)', resp.url)
    return match_res.group(1) if match_res.group(1) else match_res.group(2)

# 测试示例
print(extract_fb_video_id("https://fb.watch/7zK5NDl3Dw/"))
# 输出结果:762932621316078

如果HEAD请求被拦截返回403,可更换为GET请求,仅读取响应头无需下载完整页面即可拿到重定向地址

方法2:解析页面元标签(重定向被限制时使用)

如果因为网络、账号限制无法触发正常重定向,可发送GET请求获取短链返回的HTML页面,从内置元数据中提取ID:

  • 页面内置的<meta property="al:android:url" content="fb://video/[真实视频ID]">标签直接携带视频ID,提取该content属性的后缀数字即可
  • 也可直接匹配页面JS代码中"video_id":"(\d+)"格式的字符串拿到ID

方法3:调用Graph API调试节点(有开发者权限时使用)

如果你已拥有Facebook开发者账号和有效接口调用凭证,可直接调用Graph API的debug_url节点解析短链对应的对象ID,无需自行处理解析逻辑,调用参数如下:
GET /debug_url?url={你的fb.watch短链地址}&access_token={你的有效接口凭证}
返回结果中的og_object[id]字段即为对应的视频ID,可直接传入Video Graph API使用。


内容的提问来源于stack exchange,提问作者Christian Lavallee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:00:05