如何使用Python爬取谷歌搜索结果中的第一张图片链接?
Python爬取谷歌图片搜索首图链接实现
前置依赖
先安装需要的第三方库,在终端执行以下命令:pip install requests
实现代码
不需要复杂的页面解析库,用正则就能快速提取到第一张图的真实直链,代码已经封装成单参数函数,传入搜索关键词即可返回结果:
import requests from urllib.parse import quote import re def get_first_google_image(keyword: str): # 构造谷歌图片搜索请求地址,tbm=isch是图片搜索的固定标识 search_url = f"https://www.google.com/search?tbm=isch&q={quote(keyword)}" # 携带浏览器UA绕过基础反爬校验 request_headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36" } try: response = requests.get(search_url, headers=request_headers, timeout=10) response.raise_for_status() # 匹配页面内嵌的图片真实链接,第一个匹配项就是搜索结果首图 img_match = re.search(r'"ou":"(.*?)"', response.text) return img_match.group(1) if img_match else None except Exception as e: print(f"请求出错: {e}") return None
使用方式
直接传入搜索关键词调用即可,比如搜索"Dog Images"拿第一张狗狗图片链接:
if __name__ == "__main__": dog_img_url = get_first_google_image("Dog Images") print(dog_img_url)
注意事项
- 代码返回的是图片原始直链,不是谷歌缓存的缩略图地址
- 短时间内频繁请求会触发谷歌的人机验证,导致拿不到结果,个人低频使用不会有问题
- 如果UA过期(浏览器版本更新后旧UA被识别为爬虫),替换成自己浏览器的UA即可正常使用
内容的提问来源于stack exchange,提问作者Manas Telavane
相关产品推荐
相关产品推荐

