YAOTU INSIGHTS

谷歌新闻数据采集教程:Python实时抓取新闻做舆情监控(附代码)

谷歌新闻数据采集教程:Python实时抓取新闻做舆情监控(附代码)
做品牌公关、竞品分析、行业研究的同学应该都有过这样的需求盯着某个关键词看每天都有什么新闻在报。手动搜太费时间专门买舆情系统又太贵。这篇教大家用谷歌新闻 API 自动化采集新闻数据自己做一套轻量舆情监控——定时抓取、存库、按来源和时间归类一套代码全搞定。先看要解决什么新闻监控的核心数据是谁、什么时候、发了什么。具体说就是每条新闻的标题、来源媒体、发布时间、摘要和链接。谷歌新闻的结果页正好把这些信息排好了用 API 搜一次就能拿到结构化的 JSON不需要解析网页。我用的接口是 SerpBase官网 serpbase.dev的/google/news/search端点按量付费注册送 500 次免费搜索。第一步抓取一个关键词的新闻核心接口POST https://api.serpbase.dev/google/news/search带X-API-Key请求头。importrequests API_KEY在这里填你的KeyURLhttps://api.serpbase.dev/google/news/searchresprequests.post(URL,headers{Content-Type:application/json,X-API-Key:API_KEY},json{q:OpenAI,hl:zh-cn,gl:cn},timeout30,)dataresp.json()fornewsindata.get(news,[])[:10]:print(news.get(title))print( 来源:,news.get(source),| 时间:,news.get(time))print( 链接:,news.get(link))print( 摘要:,news.get(snippet,)[:80])print()返回的news数组里每条新闻自带title标题source来源媒体如「新华社」time/published_at发布时间文本link文章链接snippet摘要第二步多关键词批量采集把要监控的关键词放进列表逐个抓取结果落进数据库或表格importrequestsimportcsvimportdatetime API_KEY在这里填你的KeyURLhttps://api.serpbase.dev/google/news/searchKEYWORDS[OpenAI,AI 大模型,SERP API]rows[]forkwinKEYWORDS:resprequests.post(URL,headers{Content-Type:application/json,X-API-Key:API_KEY},json{q:kw,hl:zh-cn,gl:cn},timeout30,)fornewsinresp.json().get(news,[]):rows.append([kw,news.get(title,),news.get(source,),news.get(time,),news.get(link,),news.get(snippet,),])print(f{kw}:{len(resp.json().get(news,[]))}条)withopen(fnews_{datetime.date.today().isoformat()}.csv,w,newline,encodingutf-8-sig)asf:writercsv.writer(f)writer.writerow([关键词,标题,来源,时间,链接,摘要])writer.writerows(rows)print(f已导出{len(rows)}条新闻)文件名带上日期每天跑一次就是一份「舆情日报」存档。第三步加个每日定时脚本本身无状态直接用系统任务计划每天跑一次即可Windows 用「任务计划程序」Linux 用 cron。配合一个简单的变化检测就能实现告警# 伪代码和昨天对比出现新来源就提醒yesterday_sourcesset(load_csv(news_2026-08-20.csv)[来源])today_sourcesset(load_csv(news_2026-08-21.csv)[来源])new_sourcestoday_sources-yesterday_sourcesifnew_sources:send_alert(f出现新报道来源{new_sources})把「采集」和「对比」拆成两步监控逻辑会清晰很多。费用说明/google/news/search每次扣1 credit与网页、图片、视频端点同价注册送 500 次免费搜索先把流程跑通再付费标准包 $10 买 2 万次$0.50/千次永不过期10 个关键词每天跑一次一个月才 300 次未执行不计费可证明未执行的失败自动退超时可能已执行、不自动退——重试要控制次数常见问题Qsource和time有时是空值A这两个字段是从谷歌紧凑的元数据文本里解析出来的属于可选字段代码里用.get()兜底就行。Q能监控英文媒体吗A可以改hlen、glus就是英文美国市场的结果跨境电商、出海产品舆情都可以用。Q采集新闻数据有什么合规注意点A采集的数据用于内部监控没问题转载发布请遵守版权规定本文只讲技术实现。结语一套新闻采集 一个接口 一个循环 一张表。跑通之后你就有了一份可持续更新的舆情数据库后续做周报、做趋势分析都是基于同一份数据。完整参数见 SerpBase 官方文档新闻端点的返回结构很规整。先跑通第一步看看你能抓到多少条新闻再说。