源頁(yè)面(附代碼))
做素材采集、電商選品、競(jìng)品圖片監(jiān)控的朋友應(yīng)該都遇到過(guò)這種需求按關(guān)鍵詞把谷歌圖片結(jié)果批量抓下來(lái)——拿到圖片 URL、來(lái)源頁(yè)面、所屬網(wǎng)站。這篇教大家用谷歌圖片搜索 API 自動(dòng)化完成返回的是結(jié)構(gòu)化 JSON不需要解析網(wǎng)頁(yè)代碼可直接復(fù)制。圖片采集要拿什么數(shù)據(jù)谷歌圖片結(jié)果頁(yè)每條結(jié)果包含圖片 URL原圖地址image_url縮略圖 URL小圖地址thumbnail_url標(biāo)題圖片的標(biāo)題或 alt 文本來(lái)源頁(yè)面圖片所在網(wǎng)頁(yè)的鏈接link來(lái)源域名所屬網(wǎng)站domain拿到這五樣素材庫(kù)、選品表格、競(jìng)品圖庫(kù)都能建起來(lái)。接口與準(zhǔn)備我用的接口是 SerpBase官網(wǎng) serpbase.dev的/google/images端點(diǎn)POST JSON X-API-Key認(rèn)證。注冊(cè)送 100 次免費(fèi)搜索不需要綁卡夠把流程跑通。一個(gè)注意點(diǎn)圖片端點(diǎn)每次扣 2 credits比網(wǎng)頁(yè)搜索貴一倍批量前先小樣本驗(yàn)證再放大。第一步抓一個(gè)關(guān)鍵詞的圖片核心接口POST https://api.serpbase.dev/google/imagesimportrequests API_KEY在這里填你的KeyURLhttps://api.serpbase.dev/google/imagesresprequests.post(URL,headers{Content-Type:application/json,X-API-Key:API_KEY},json{q:iphone 15 pro blue,hl:en,gl:us,page:1},timeout30,)dataresp.json()forimgindata.get(images,[])[:10]:print(img.get(rank),|,img.get(title))print( 圖片:,img.get(image_url))print( 來(lái)源頁(yè):,img.get(link))print( 域名:,img.get(domain))print()返回的images數(shù)組里每條結(jié)果帶image_url、thumbnail_url、title、link、domain、rank。一次請(qǐng)求圖片列表就齊了。第二步批量下載圖片只存元數(shù)據(jù)更省心圖片 URL 直接請(qǐng)求下載會(huì)慢、會(huì)占帶寬。更穩(wěn)妥的做法是先只存元數(shù)據(jù)URL、來(lái)源、標(biāo)題需要時(shí)再按需下載importrequestsimportcsv API_KEY在這里填你的KeyURLhttps://api.serpbase.dev/google/imagesdeffetch_images(keyword,hlen,glus):resprequests.post(URL,headers{Content-Type:application/json,X-API-Key:API_KEY},json{q:keyword,hl:hl,gl:gl},timeout30,)returnresp.json().get(images,[])# 多關(guān)鍵詞批量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)}條累計(jì))withopen(images.csv,w,newline,encodingutf-8-sig)asf:writercsv.writer(f)writer.writerow([關(guān)鍵詞,標(biāo)題,圖片URL,來(lái)源頁(yè),域名])writer.writerows(rows)print(f已導(dǎo)出{len(rows)}條圖片元數(shù)據(jù))utf-8-sig保證 Excel 打開(kāi)不亂碼。第三步按需下載原圖如果確實(shí)要下載原圖建議加節(jié)流和失敗處理圖片端點(diǎn)失敗同樣自動(dòng)退 creditsimporttimeimportrequestsdefdownload_image(url,save_path,timeout30):try:resprequests.get(url,timeouttimeout)ifresp.status_code200:withopen(save_path,wb)asf:f.write(resp.content)returnTrueexceptException:passreturnFalse# 示例下載前 5 張fori,imginenumerate(images[:5]):okdownload_image(img[image_url],fimg_{i}.jpg)print(fimg_{i}.jpg:{成功ifokelse失敗})time.sleep(0.5)# 控制節(jié)奏注意下載圖片本身不消耗 API credits只有搜索請(qǐng)求扣但注意圖片版權(quán)商用需謹(jǐn)慎。費(fèi)用與建議/google/images每次2 credits注冊(cè)送 100 次免費(fèi)搜索 約 50 次圖片搜索夠測(cè)一個(gè)完整流程標(biāo)準(zhǔn)包 $10 買(mǎi) 2 萬(wàn)次$0.50/千次永不過(guò)期圖片按 2 credits 算約合 $1/千次批量前先小樣本驗(yàn)證字段是否齊全再放大規(guī)模常見(jiàn)問(wèn)題Qthumbnail_url和image_url有時(shí)是空的A這兩個(gè)字段是可選的有的結(jié)果只給一個(gè)代碼里用.get()兜底就行。Q能采集圖片所在網(wǎng)站的信息嗎A圖片返回里有l(wèi)ink來(lái)源頁(yè)和domain域名要更深的網(wǎng)頁(yè)信息可以配合/google/search再查。Q圖片能直接商用嗎A版權(quán)取決于圖片本身采集到的是 URL 和元數(shù)據(jù)是否可用請(qǐng)自行確認(rèn)授權(quán)。結(jié)語(yǔ)圖片采集的核心價(jià)值在「元數(shù)據(jù)先行」——先拿到 URL、來(lái)源、域名列表按需再下載成本和風(fēng)險(xiǎn)都可控。用 API 拿結(jié)構(gòu)化 JSON比解析圖片搜索頁(yè)快一個(gè)數(shù)量級(jí)。完整參數(shù)見(jiàn) SerpBase 官方文檔。先跑通第一步看看你能抓到什么圖。