首页/新闻资讯/正文详情

谷歌 AI 概览采集教程:Python 抓取 AI Overview 与引用来源(附代码)

发布时间:2026/9/26 3:25:54 来源:云帆数科 栏目:资讯中心
谷歌 AI 概览采集教程:Python 抓取 AI Overview 与引用来源(附代码)
搜索「怎么挑跑鞋」结果页最上面先给你一段 AI 生成的总结下面挂着几个小链接——这就是AI 概览AI Overview。对做 SEO、内容、品牌的人来说它是新的曝光入口你的内容被 AI 概览引用比自然排名第 5 更值钱。这篇教程带你用 Python 把 AI 概览采下来有没有、引用了谁、变化趋势全都能监控。AI 概览的数据在哪搜索接口的响应里AI 概览是顶层的一个可选模块有就返回ai_overview没有就整个字段都不在。先记住这一条不是每个关键词都有 AI 概览代码里必须判空别硬取。第一步探测某个词有没有 AI 概览importos,requestsdeffetch_serp(keyword,hlzh-cn,glcn):resprequests.post(https://api.serpbase.dev/google/search,headers{Content-Type:application/json,X-API-Key:os.environ[SERPBASE_API_KEY]},json{q:keyword,hl:hl,gl:gl},timeout30,)resp.raise_for_status()returnresp.json()datafetch_serp(怎么挑选跑鞋)aidata.get(ai_overview)ifnotai:print(该关键词没有 AI 概览)else:print(有 AI 概览字段如下)importjsonprint(json.dumps(ai,ensure_asciiFalse,indent2)[:800])调试第一步永远是先把 JSON 打印出来看。AI 概览的结构会随谷歌调整照抄别人的解析代码容易过期看实际返回最稳。第二步解析引用来源AI 概览最核心的可分析部分是它引用的来源链接。结构拿到后写一个「层层.get()」的提取函数defextract_sources(ai:dict)-list[dict]:从 ai_overview 里提取引用来源标题 链接。字段缺失一律跳过。sources[]# 引用来源一般在一个数组里每项带 title/link实际字段名以你打印出的 JSON 为准foritemin(ai.get(sources)orai.get(links)or[]):linkitem.get(link)oritem.get(url)iflink:sources.append({title:item.get(title),link:link})returnsources sourcesextract_sources(aior{})forsinsources:print(-,s[title],|,s[link])两个要点用or兼容多种可能字段名谷歌调整时不用全改拿不到就跳过而不是报错——采集代码的第一素质是「不崩」。第三步批量采集统计出现率与引用域fromcollectionsimportCounterfromurllib.parseimporturlparse keywords[怎么挑选跑鞋,Python 虚拟环境,咖啡 手冲 水温]ai_count0domain_counterCounter()forkwinkeywords:datafetch_serp(kw)aidata.get(ai_overview)ifnotai:continueai_count1forsinextract_sources(ai):domain_counter[urlparse(s[link]).netloc]1print(f{len(keywords)}个词里{ai_count}个有 AI 概览)print(被引用最多的域名)fordomain,nindomain_counter.most_common(10):print(f{domain}:{n}次)跑完你会得到两个很有用的结论哪类词更容易触发 AI 概览、哪些站点总被引用顺便看看有没有你自己。第四步存入数据库监控变化AI 概览的出现和消失本身就是信号。按天存下来importsqlite3,datetime consqlite3.connect(serp.db)con.execute( CREATE TABLE IF NOT EXISTS ai_overview ( keyword TEXT NOT NULL, day TEXT NOT NULL, has_ai INTEGER NOT NULL, sources TEXT, PRIMARY KEY (keyword, day) ) )defsave(kw,ai,sources):daydatetime.date.today().isoformat()con.execute(INSERT OR REPLACE INTO ai_overview VALUES (?, ?, ?, ?),(kw,day,1ifaielse0,json.dumps(sources,ensure_asciiFalse)ifsourceselseNone),)con.commit()存成「有没有 来源 JSON」后就能查「哪些词的 AI 概览这周出现了」「我的域名上周被引了 5 次这周 0 次」这类问题。踩坑记录坑 1假设每个词都有 AI 概览。某些类目购物、YMYL出现率高很多长尾词根本没有。判空是常态逻辑不是容错。坑 2照抄固定解析路径。ai[sections][0][items]这种硬索引谷歌一调结构就全崩。全部走.get()or兜底解析失败先打印原文。坑 3把「引用来源为空」当没有 AI 概览。两回事有概览但没引用、没概览要分开统计混在一起趋势就失真。坑 4市场口径乱。同一个词中文和英文结果页的 AI 概览可能完全不同。监控固定hl/gl别今天中文明天英文。坑 5采集频率过高。AI 概览变化以天为尺度日频足够。频率翻倍只是把 credits 烧快一倍。小结AI 概览采集的完整路径探测有无 → 提取引用来源 → 批量统计 → 按天入库。它把你的视角从「我的网页排第几」升级到「AI 回答里引用了谁」——在 AI 搜索时代后者可能更接近真正的流量入口。模块字段ai_overview属于可选模块的说明见 SerpBase 官方文档。建议先拿 20 个自己的目标词跑一遍看看 AI 概览出现率——这个数字本身就会给你不少选题灵感。

相关推荐

AgentScope Java 2.0 接入 TaoToken:在线训练(Training)配置骨架与验证
AgentScope Java 2.0 接入 TaoToken:在线训练(Training)配置骨架与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:48

VSCode插件开发:在Activity Bar自定义侧边栏功能入口(含TaoToken配置骨架)
VSCode插件开发:在Activity Bar自定义侧边栏功能入口(含TaoToken配置骨架)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:48

写代码像开挂——IT人的超能力技能树:用 TaoToken 统一 Key 打通 Codex CLI 与 Ollama
写代码像开挂——IT人的超能力技能树:用 TaoToken 统一 Key 打通 Codex CLI 与 Ollama

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 3:25:48

一个公司有多个品牌或产品线,扫码营销要共用一套系统还是分开做?
一个公司有多个品牌或产品线,扫码营销要共用一套系统还是分开做?

一个公司有多个品牌或产品线,扫码营销要共用一套系统还是分开做? 太长不看版 对不少多品牌企业而言,可以优先评估“统一底层平台 品牌独立运营”的架构,而不是直接为每个品牌建设一套完全孤立的系统。 统一平台适合管理码库、用户… · 2026/9/26 4:10:40

本地部署 VS 云端 API:把硬件、电费、调用量三笔账算清再决定
本地部署 VS 云端 API:把硬件、电费、调用量三笔账算清再决定

「要不要自己买卡跑大模型」这个问题,在 2026 年被问得比「哪个模型更强」还多。 但真实情况是:一上来就买卡的人,很多在第三个月开始后悔;一直不敢用的人,又在为每月的 API 账单心疼。 两边都没错,错的只是… · 2026/9/26 4:10:40

Quad Flat Packages(QFP)详解:从引脚到封装工艺
Quad Flat Packages(QFP)详解:从引脚到封装工艺

1. 引言 Quad Flat Package(QFP,四边扁平封装)是表面贴装技术(SMT)中应用最广泛的集成电路封装形式之一。它的引脚从封装体四边引出,呈扁平翼状(Gull-wing)结构,因此得名… · 2026/9/26 4:10:40

Eclipse MAT下载与JDK版本精确匹配指南
Eclipse MAT下载与JDK版本精确匹配指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 4:10:40

Windows10上使用ffmpeg-python转换mkv为mp4
Windows10上使用ffmpeg-python转换mkv为mp4

国庆前下了两部老电影打算回去了给老爷子看,为防止初中买的创维电视格式不兼容,将U盘格式化成FAT32,将电影的rmvb、mkv格式转换成mp4,用VLC踩了一堆坑就换ffmpeg了 Python转码MP4 1.配置ffmpeg-python库和ffmpeg.exe程序 下载了… · 2026/9/26 4:10:40

Visual Studio 2026是假的!VS2022安全部署与避坑指南
Visual Studio 2026是假的!VS2022安全部署与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 4:10:34

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码