Python爬虫怎么抓取短视频数据_从页面分析获取真实视频URL

短视频平台HTML中无真实视频URL,因地址藏于XHR接口响应的加密字段中,需通过浏览器抓包定位接口、复现带签名的请求或用Playwright等工具执行JS获取。

为什么直接请求页面 HTML 拿不到视频 URL

短视频平台(如抖音、快手)的首页或详情页 HTML 里基本不写真实视频地址,video 标签要么没有,要么 src 是占位符或低质预览图。真实地址藏在 XHR 请求响应里,通常是 JSON 接口返回的加密字段或带签名的链接。

常见错误现象:
• 用 requests.get(url) 拿到的 HTML 里搜 "mp4""video" 一无所获
• 浏览器开发者工具里能看到网络面板有 /aweme/v1/web/video/feed/ 这类请求,但 Python 里复现失败

  • 关键原因是:这些接口强制校验 RefererUser-Agent,还依赖动态生成的 signaturemsToken 参数
  • 部分接口要求登录态(sessionidcookie 中的 odin_tt),未携带会返回 {"status_code":10110,"status_msg":"Forbidden"}
  • JS 渲染页(如抖音 PC 端)必须用无头浏览器抓首屏,否则连接口请求都触发不了

怎么定位真实视频接口(以抖音为例)

打开 Chrome 开发者工具 → Network → 切到 XHR → 刷新页面 → 找含 videoawemeitem 的请求。重点看响应体是否含 "play_addr""video_list" 字段。

典型路径:/aweme/v1/web/aweme/detail/(单视频)、/aweme/v1/web/video/feed/(信息流)。注意查询参数里的 aweme_idcountcursor 都是关键标识。

  • 别只盯着 Response 标签——点 HeadersRequest URL 全路径和 Query String Parameters
  • 复制该请求 → 右键 → Copy as cURL (bash) → 粘贴到在线工具(如 curlconverter.com)转成 Python requests 代码,能省掉 80% 的 header 配置
  • 如果接口返回空或 "status_code": 0 但没数据,大概率是 sign 过期了——这个值通常由前端 JS 计算,不能硬编码

绕过 signature 校验的实用方案

抖音系接口的 _signature 参数是基于 URL 和时间戳用 JS 算出来的,Python 直接仿写容易出错且维护成本高。更稳的做法是复用浏览器环境。

观猹

观猹(Watcha.cn)丨AI 产品的大众点评

下载

  • seleniumplaywright 启动 Chromium,执行 JS 提取 window.byted_acrawler.sign({url: 'xxx'}) 返回值
  • 轻量替代:用 execjs 运行提取出的签名函数(需先从网页源码里扒下 byted_acrawler.js 或对应逻辑),但 JS 更新后立刻失效
  • 最省事但有代价:放弃纯 requests,改用 playwright.sync_api.sync_playwright().start() 直接走真实浏览器上下文,所有 header、cookie、sign 自动带上

示例(Playwright 提取视频地址):

from playwright.sync_api import sync_playwright
with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto("https://www.douyin.com/video/729xxxx")
    # 等待接口完成,再取 response
    video_url = page.evaluate('''() => {
        const req = [...performance.getEntriesByType("resource")].find(r => r.name.includes("aweme/detail"));
        return req ? JSON.parse(req.responseEnd).aweme_detail.video.play_addr.url_list[0] : null;
    }''')
    print(video_url)
    browser.close()

下载前必须检查的三个字段

拿到 url_list 里的链接别急着 requests.get(),先确认三件事:

  • url_list 通常有多个地址,优先选 ratio"720p""1080p" 的项,避开 "playwm"(带水印)和 "playadr"(防盗链跳转)
  • 检查链接是否含 ?expires=&signature= —— 这类 URL 有效期常短于 60 秒,必须立刻下载,缓存或延迟会导致 403 Forbidden
  • 发起下载请求时,headers 必须包含原始请求中的 Referer(如 https://www.douyin.com/),否则返回空响应或重定向到错误页

一个容易被忽略的细节:某些平台(如小红书)的视频 URL 响应头里带 Content-Disposition: attachment; filename="xxx.mp4",但实际返回的是 HTML 错误页——这时候要先检查 response.status_coderesponse.headers.get("Content-Type") 是否为 "video/mp4"

相关推荐:

Cloudflare 细化网络爬虫屏蔽管理,将默认禁止 AI 代理与训练爬虫访问广告页面

7 月 2 日消息,互联网基础服务企业 Cloudflare 当地时间 1 日宣布细化网络爬虫屏蔽管理,根据其行为对爬虫机器人赋予搜索、代理(智能体)、训练等一系列标签,并计划在 2026 年 9 月 15 日默认禁止 AI 代理与训练爬虫访问含广告的网页。Cloudflare 表示,大多数网站所有者都希望自己的内容既能够被人工智能发现又不会损失来自知识产权的收益。负责任的 AI 企业会清晰标记其...

绿源电动车旗舰店被指发布擦边视频,客服致歉称视频已下架

感谢网友 软媒用户1238620 的线索投递! 近日,多位网友反映称,“绿源电动车旗舰店”的抖音账号发布多条疑似擦边视频,引发争议。视频画面显示,在一则名为电动车座的午休教程视频中,模特被安排穿丝袜、包臀短裙、高跟鞋,并将双脚搭在电动车把手上。网友质疑,该视频的拍摄角度和画面存在明显的擦边嫌疑。针对此事,绿源电动车旗舰店客服表示,“实在抱歉,这边视频已经下架了,将进行记录和反馈。”资料显示,该旗舰...

LobsterAI上线图片视频大模型矩阵 一次性接入四大主流图像视频生成模型

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜ 国内AIGC多模态创作领域迎来新一轮突破。近日,国内头部互联网企业推出的首个开源“龙虾系”人工智能产品LobsterAI(网易有道龙虾)完成重大迭代,正式开放图片与视频生成两大核心能力。 本次升级引入全新矩阵化协同架构,同步集成业界公认的四大先进多模态生成模型——Seedream、Seedanc...

抖音搬运视频如何过查重 视频二次剪辑去重技术【干货】

抖音搬运视频被限流的根本原因是系统通过哈希比对、音频指纹、节奏建模、纹理识别四重维度交叉验证原始素材;必须从像素层、时序层、光学层、声学层同步扰动,如非整数缩放、不等长剪辑、动态扫光、音轨解耦重构等。 抖音搬运视频反复被判定重复、限流甚至零播放,根本原因是系统通过哈希比对、音频指纹、节奏建模、纹理识别四重维度交叉验证原始素材。单纯改标题、换BGM、加滤镜已完全失效,必须从像素层、时序层、光学层、声...

谷歌浏览器怎么抓取网络请求?_抓包分析必备的谷歌浏览器技巧【抓包】

Chrome开发者工具Network面板可抓包HTTP/HTTPS请求:打开检查→切Network→开Preserve log→筛XHR/Fetch→查Headers与Response→硬刷清缓存。 如果您需要捕获网页与服务器之间传输的HTTP/HTTPS请求数据,以便分析接口行为、调试前端逻辑或构建爬虫,谷歌浏览器内置的开发者工具可直接完成抓包任务。以下是具体操作步骤: 一、打开开发者工具并进入...

Topaz Video AI怎么修复模糊视频 Topaz视频增强方法【技巧】

应按退化类型选模型:拖影用Chronos调65强度,发灰先Gaia去噪再Dione调色,AI生成视频用Proteus勾Sharpen Only且Enhance≤70;三参数须守阈值——Enhance 40–65、Reduce Noise≤50、Recover Detail≤75并开Suppress Artifacts;启用Temporal Analysis(3或5帧)、High Accuracy运...

悟空浏览器网页视频怎么下载到本地_悟空浏览器视频抓取嗅探器用法

悟空浏览器可通过五种方式下载网页嵌入视频:一、启用视频嗅探功能扫描识别;二、小窗播放后长按调出下载入口;三、安装AIX插件批量导出;四、用网页检查工具手动提取直链;五、通过影视专区一键下载正版授权视频。 如果您在使用悟空浏览器访问网页时,发现页面中嵌入了可播放但无显式下载按钮的视频,则需借助其内置多通道资源捕获机制识别、提取并保存为本地MP4文件。以下是实现该目标的具体操作路径: 一、启用视频嗅探...