Google Videos API:如何抓取 Google 视频搜索结果

了解如何使用 SERP API 抓取 Google 视频搜索结果,采集视频标题、URL、来源、缩略图、时长、日期、排名位置和本地化搜索数据,用于 SEO、内容和 AI 工作流。

talor ai
最後更新於
4 分鐘閱讀

视频搜索已经不是 SEO 里的边角料。

很多查询里,用户不只想读一篇文章。他们想看 demo、review、tutorial、webinar、walkthrough、comparison、product test 或 event clip。这意味着视频搜索结果会影响用户如何发现品牌、产品、主题和创作者。

问题是,手动检查 Google Videos 很难规模化。

Google Videos API 可以把视频搜索结果变成结构化数据。你不需要打开 Google、切到 Videos tab、复制链接、贴到表格。工作流可以直接发送 query,然后获取 video title、URL、source、thumbnail、duration、date、snippet 和 ranking position 等字段。

Talordata 的 SERP API 页面把 Google Videos 列为支持的 Google result type 之一,同时也支持结构化搜索结果数据、JSON / HTML 输出和 geo-targeted SERP data。

快速回答

要抓取 Google 视频搜索结果,可以使用 SERP API 的 Google Videos engine,传入搜索查询,必要时设置 country、language、location 等本地化参数,然后把返回的视频结果解析到数据库、表格、看板或 AI workflow。

基本流程如下:

Keyword list
→ Google Videos API request
→ Parse video results
→ Extract title, URL, source, thumbnail, duration, date, position
→ Store snapshots
→ Compare visibility over time

为什么要抓取 Google 视频搜索结果?

视频结果能显示 Google 对某个视觉型或教学型搜索意图展示了哪些内容。

团队通常会用视频搜索数据回答这些问题:

问题

为什么重要

哪些视频出现在目标关键词下?

衡量视频搜索可见度

哪些平台占据结果?

帮助选择 YouTube、短视频平台、媒体站或其他分发渠道

哪些竞品经常出现?

支持竞品视频监控

哪些主题会触发视频结果?

支持内容规划

哪些视频长期保持排名?

找出稳定内容机会

新视频是否替代旧视频?

支持趋势监控

这对 SEO、内容、品牌、产品营销、AI 和市场研究团队都很有用。

可以采集哪些数据?

一个实用的 Google Videos API workflow 通常会采集这些字段:

字段

用途

keyword

触发结果的查询

position

Google Videos 中的排名位置

title

搜索结果中展示的视频标题

url

视频或来源页链接

source

平台或发布方

thumbnail

视觉预览

duration

视频时长

date

发布或可见日期

snippet

简短描述

channel

创作者或发布者

location

搜索地区上下文

language

搜索语言上下文

collected_at

历史比较时间戳

Talordata 的 Google Videos 文章也提到类似数据点,包括 title、URL、source、thumbnail、publication date、duration、ranking position、snippet、channel,以及可用时的 key moments。

Google Videos API vs YouTube API

Google Videos API 和 YouTube API 不是一回事。

API 类型

看到的是什么

Google Videos API

Google 视频搜索结果中出现的内容

YouTube API

YouTube 平台内部数据

SERP API

搜索引擎结果页数据

Channel analytics

自有频道表现

如果你只关心自己的 YouTube 频道,YouTube analytics 可能够用。

但如果你关心的是用户在 Google video search 中看到哪些视频来源,Google Videos API 会更合适。

例如,Google Videos 可能展示 YouTube、新闻网站、社交平台、出版商、产品页或其他被索引的视频来源。只看 YouTube 会漏掉一部分搜索可见度。

Step 1:准备关键词

先从一组聚焦的 keyword 开始。

KEYWORDS = [
    "how to use project management software",
    "crm software demo",
    "best standing desk review",
    "python data visualization tutorial",
]

常见视频搜索关键词通常包含:

  • how to

  • tutorial

  • demo

  • review

  • comparison

  • setup

  • unboxing

  • webinar

  • walkthrough

  • product name

  • brand name

不要一开始就追踪几千个关键词。先小规模检查返回数据,再扩展。

Step 2:定义搜索上下文

视频结果会因 country、language 和 location 变化。

SEARCH_CONTEXTS = [
    {
        "country": "us",
        "language": "en",
        "location": "United States",
        "device": "desktop",
    },
    {
        "country": "gb",
        "language": "en",
        "location": "London, England, United Kingdom",
        "device": "desktop",
    },
]

这对 SEO 和市场研究很重要。
美国排名靠前的视频,不一定在英国、日本、巴西或德国同样可见。

Talordata 参数文档的索引片段显示,Google Videos request 可使用 engine=google_videosqjson=1;更完整的参数整理也列出了 glhllrlocationuulestartnumtbssafenfprfilter 等 Google Videos 相关参数。

Step 3:发送 Google Videos request

用环境变量保存 API key 和 endpoint。

import os
import requests


SERP_API_KEY = os.getenv("TALORDATA_API_KEY")
SERP_ENDPOINT = os.getenv("TALORDATA_SERP_ENDPOINT")


def call_google_videos_api(query, context):
    if not SERP_API_KEY:
        raise RuntimeError("Missing TALORDATA_API_KEY")

    if not SERP_ENDPOINT:
        raise RuntimeError("Missing TALORDATA_SERP_ENDPOINT")

    headers = {
        "Authorization": f"Bearer {SERP_API_KEY}",
        "Content-Type": "application/x-www-form-urlencoded",
    }

    data = {
        "engine": "google_videos",
        "q": query,
        "json": "1",
        "gl": context["country"],
        "hl": context["language"],
        "location": context["location"],
        "device": context["device"],
        "num": "20",
    }

    response = requests.post(
        SERP_ENDPOINT,
        headers=headers,
        data=data,
        timeout=30,
    )

    response.raise_for_status()
    return response.json()

请求函数只处理验证、参数和 HTTP 错误。
解析逻辑应该放到单独函数里。

Step 4:标准化视频结果

不同 SERP layout 可能返回不同字段,所以 parser 要保留弹性。

def clean_text(value):
    if not value:
        return ""
    return " ".join(str(value).split())


def get_video_results(response_json):
    return (
        response_json.get("video_results")
        or response_json.get("videos_results")
        or response_json.get("videos")
        or response_json.get("results")
        or []
    )


def normalize_video_results(response_json):
    rows = []

    for index, item in enumerate(get_video_results(response_json), start=1):
        rows.append({
            "position": item.get("position") or item.get("rank") or index,
            "title": clean_text(item.get("title")),
            "url": item.get("link") or item.get("url") or "",
            "source": clean_text(item.get("source") or item.get("displayed_link")),
            "thumbnail": item.get("thumbnail") or "",
            "duration": clean_text(item.get("duration")),
            "date": clean_text(item.get("date")),
            "snippet": clean_text(item.get("snippet") or item.get("description")),
            "channel": clean_text(item.get("channel") or item.get("author")),
        })

    return rows

重点不是猜中所有字段,而是建立团队内部稳定可用的数据格式。

Step 5:输出 CSV

第一版用 CSV 就够。

import csv
from datetime import datetime, timezone


CSV_COLUMNS = [
    "keyword",
    "country",
    "language",
    "location",
    "device",
    "position",
    "title",
    "url",
    "source",
    "thumbnail",
    "duration",
    "date",
    "snippet",
    "channel",
    "collected_at",
]


def export_video_results(rows, filename="google_video_results.csv"):
    with open(filename, mode="w", newline="", encoding="utf-8") as file:
        writer = csv.DictWriter(file, fieldnames=CSV_COLUMNS)
        writer.writeheader()
        writer.writerows(rows)

然后执行完整流程:

def run_video_search_collection():
    collected_at = datetime.now(timezone.utc).isoformat()
    output_rows = []

    for keyword in KEYWORDS:
        for context in SEARCH_CONTEXTS:
            response_json = call_google_videos_api(keyword, context)
            video_results = normalize_video_results(response_json)

            for video in video_results:
                output_rows.append({
                    "keyword": keyword,
                    "country": context["country"],
                    "language": context["language"],
                    "location": context["location"],
                    "device": context["device"],
                    "position": video["position"],
                    "title": video["title"],
                    "url": video["url"],
                    "source": video["source"],
                    "thumbnail": video["thumbnail"],
                    "duration": video["duration"],
                    "date": video["date"],
                    "snippet": video["snippet"],
                    "channel": video["channel"],
                    "collected_at": collected_at,
                })

    export_video_results(output_rows)


if __name__ == "__main__":
    run_video_search_collection()

这样你就得到了一份 video search snapshot。

每天或每周执行,就能追踪变化。

Step 6:保存快照用于追踪

单次结果只是一张快照。真正价值来自比较。

数据表可以这样设计:

字段

类型

id

UUID 或 integer

keyword

Text

country

Text

language

Text

location

Text

device

Text

position

Integer

title

Text

url

Text

source

Text

duration

Text

date

Text

channel

Text

collected_at

Timestamp

有了历史数据,就能回答:

  • 哪些视频可见度提升?

  • 哪些视频排名下降?

  • 哪些竞品反复出现?

  • 哪些平台占据结果?

  • 哪些关键词更容易出现视频结果?

  • 哪些主题需要新视频内容?

  • 哪种视频格式可见度更持久?

这会把视频搜索变成可以衡量的内容和 SEO 信号。

免费测试Google Videos API>>

常见使用场景

Video SEO monitoring

追踪你的视频是否出现在目标关键词下,以及排名位置是否上升或下降。

Competitor video tracking

监控竞品视频、产品评测、webinar、tutorial 和 comparison content 是否出现在 Google Videos。

Content gap analysis

如果重要关键词大量出现视频结果,但你的品牌没有视频内容,这可能是内容机会。

Brand monitoring

追踪品牌、产品、高管、活动或 campaign 查询,看用户可能看到哪些视频。

AI and RAG workflows

结构化视频搜索数据可以帮助 AI 系统发现新鲜多媒体来源、分类主题并生成研究摘要。

Talordata SERP API 页面也把 AI search and agent integration、SEO rank monitoring、brand and competitor monitoring、local SEO、news monitoring 和 e-commerce intelligence 列为结构化 SERP data 的相关使用场景。

Best practices

保持关键词列表聚焦。按 intent 分组后,视频结果更容易分析。

始终保存搜索上下文。Keyword、country、language、location、device 和 timestamp 对比较很重要。

把 video results 和 organic web results 分开。它们回答的是不同可见度问题。

追踪 source platform。YouTube、publisher sites、短视频平台和 news sites 的表现方式可能不同。

不要只依赖一次快照。视频结果变化可能很快,尤其是新闻、活动、产品发布和热门话题。

重要关键词要人工检查 thumbnail 和 title。视频搜索具有视觉属性,单靠 metadata 可能看不出呈现质量。

工作流和看板优先用 structured JSON。只有在需要原始 SERP 检查或自定义 debug 时才使用 HTML。

FAQ

什么是 Google Videos API?

Google Videos API 用于采集 Google 视频搜索结果,并返回视频标题、URL、来源、缩略图、时长、日期、摘要和排名位置等结构化数据。

为什么要抓取 Google 视频搜索结果?

团队会抓取 Google 视频搜索结果,用于监控 video SEO、竞品可见度、品牌呈现、内容缺口和多媒体搜索趋势。

应该采集哪些视频搜索字段?

可以从 keyword、position、title、URL、source、thumbnail、duration、date、snippet、channel、location、language、device 和 timestamp 开始。

Google Videos API 和 YouTube API 一样吗?

不一样。YouTube API 显示 YouTube 平台数据。Google Videos API 显示 Google 视频搜索结果,可能包含 YouTube 和其他视频来源。

视频搜索数据对 SEO 有用吗?

有用。它可以帮助 SEO 和内容团队理解哪些视频出现在目标关键词下、哪些竞品可见,以及哪些主题需要视频内容。

视频搜索数据能支持 AI workflow 吗?

可以。AI 系统可以使用结构化视频搜索数据做 source discovery、topic research、content classification 和 RAG workflow。

应该多久采集一次 Google 视频结果?

常青主题每周追踪通常足够。新闻、产品发布、品牌监控和快速变化的竞品主题,适合每日追踪。

立即開展您的數據業務

加入全球最強大的代理網絡

免費試用