news 2026/8/24 4:41:34

谷歌图片采集教程:Python批量抓取图片URL和来源页面(附代码)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
谷歌图片采集教程:Python批量抓取图片URL和来源页面(附代码)

做素材采集、电商选品、竞品图片监控的朋友,应该都遇到过这种需求:按关键词把谷歌图片结果批量抓下来——拿到图片 URL、来源页面、所属网站。这篇教大家用谷歌图片搜索 API 自动化完成,返回的是结构化 JSON,不需要解析网页,代码可直接复制。

图片采集要拿什么数据

谷歌图片结果页,每条结果包含:

  • 图片 URL:原图地址(image_url
  • 缩略图 URL:小图地址(thumbnail_url
  • 标题:图片的标题或 alt 文本
  • 来源页面:图片所在网页的链接(link
  • 来源域名:所属网站(domain

拿到这五样,素材库、选品表格、竞品图库都能建起来。

接口与准备

我用的接口是 SerpBase(官网 serpbase.dev)的/google/images端点,POST JSON +X-API-Key认证。注册送 100 次免费搜索,不需要绑卡,够把流程跑通。

一个注意点:图片端点每次扣 2 credits(比网页搜索贵一倍),批量前先小样本验证再放大。

第一步:抓一个关键词的图片

核心接口:POST https://api.serpbase.dev/google/images

importrequests API_KEY="在这里填你的Key"URL="https://api.serpbase.dev/google/images"resp=requests.post(URL,headers={"Content-Type":"application/json","X-API-Key":API_KEY},json={"q":"iphone 15 pro blue","hl":"en","gl":"us","page":1},timeout=30,)data=resp.json()forimgindata.get("images",[])[:10]:print(img.get("rank"),"|",img.get("title"))print(" 图片:",img.get("image_url"))print(" 来源页:",img.get("link"))print(" 域名:",img.get("domain"))print()

返回的images数组里,每条结果带image_urlthumbnail_urltitlelinkdomainrank。一次请求,图片列表就齐了。

第二步:批量下载图片(只存元数据更省心)

图片 URL 直接请求下载会慢、会占带宽。更稳妥的做法是先只存元数据(URL、来源、标题),需要时再按需下载:

importrequestsimportcsv API_KEY="在这里填你的Key"URL="https://api.serpbase.dev/google/images"deffetch_images(keyword,hl="en",gl="us"):resp=requests.post(URL,headers={"Content-Type":"application/json","X-API-Key":API_KEY},json={"q":keyword,"hl":hl,"gl":gl},timeout=30,)returnresp.json().get("images",[])# 多关键词批量keywords=["iphone 15 pro blue","macbook air","apple watch"]rows=[]forkwinkeywords:forimginfetch_images(kw):rows.append([kw,img.get("title",""),img.get("image_url",""),img.get("link",""),img.get("domain",""),])print(f"{kw}:{len(rows)}条(累计)")withopen("images.csv","w",newline="",encoding="utf-8-sig")asf:writer=csv.writer(f)writer.writerow(["关键词","标题","图片URL","来源页","域名"])writer.writerows(rows)print(f"已导出{len(rows)}条图片元数据")

utf-8-sig保证 Excel 打开不乱码。

第三步:按需下载原图

如果确实要下载原图,建议加节流和失败处理(图片端点失败同样自动退 credits):

importtimeimportrequestsdefdownload_image(url,save_path,timeout=30):try:resp=requests.get(url,timeout=timeout)ifresp.status_code==200:withopen(save_path,"wb")asf:f.write(resp.content)returnTrueexceptException:passreturnFalse# 示例:下载前 5 张fori,imginenumerate(images[:5]):ok=download_image(img["image_url"],f"img_{i}.jpg")print(f"img_{i}.jpg:{'成功'ifokelse'失败'}")time.sleep(0.5)# 控制节奏

注意:下载图片本身不消耗 API credits(只有搜索请求扣),但注意图片版权,商用需谨慎。

费用与建议

  • /google/images每次2 credits
  • 注册送 100 次免费搜索 = 约 50 次图片搜索,够测一个完整流程
  • 标准包 $10 买 2 万次($0.50/千次),永不过期;图片按 2 credits 算,约合 $1/千次
  • 批量前先小样本验证字段是否齐全,再放大规模

常见问题

Q:thumbnail_urlimage_url有时是空的?
A:这两个字段是可选的,有的结果只给一个,代码里用.get()兜底就行。

Q:能采集图片所在网站的信息吗?
A:图片返回里有link(来源页)和domain(域名),要更深的网页信息可以配合/google/search再查。

Q:图片能直接商用吗?
A:版权取决于图片本身,采集到的是 URL 和元数据,是否可用请自行确认授权。

结语

图片采集的核心价值在「元数据先行」——先拿到 URL、来源、域名列表,按需再下载,成本和风险都可控。用 API 拿结构化 JSON,比解析图片搜索页快一个数量级。

完整参数见 SerpBase 官方文档。先跑通第一步,看看你能抓到什么图。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 4:40:34

从零解析C语言编译器:源码结构与核心模块实现详解

这次我们来看一个“实现简单C语言编译器-源码解析”项目。对于很多学习编译原理的同学来说,理论学了一大堆,但面对一个真实的编译器项目源码,往往还是无从下手。这个项目提供了一个绝佳的切入点——一个用C语言实现的、功能相对完整的C语言编…

作者头像 李华
网站建设 2026/8/24 4:40:08

UG NX四边渐消面建模全解析:从原理到实战攻克高阶曲面难题

大家好,我是长期分享工业设计软件实战经验的博主。在UG NX的曲面造型中,“渐消面”是衡量建模能力的一道分水岭,尤其是“四边渐消”,它要求曲面在四个边界上平滑地过渡到消失,不留硬边或收敛点,是构建高质量…

作者头像 李华