最近gpt生成的文章没有图片,略显单调,尝试用谷歌的自定义搜索Google Custom Search API根据关键词爬取图片,毕竟图文并茂才显得丰富。
需要创建一个Google Custom Search Engine (CSE):
前往 https://programmablesearchengine.google.com/ 并登录你的Google帐户。
创建一个新的自定义搜索引擎,按照界面上的提示进行操作。
在"配置搜索引擎"的部分,确保你选择了"图片搜索",并添加你希望在其中搜索图片的网站或网站列表。
获取API密钥:
转到 https://console.cloud.google.com/ 并创建一个新的项目(如果没有已经创建的话)。
在该项目中启用"Custom Search JSON API"。
在API和服务 > 凭证中创建一个新的API密钥。
使用API进行图片搜索:
利用你的API密钥,发送HTTP请求来搜索图片。
代码段:
import requests
api_key = 'API_KEY'
cse_id = 'CUSTOM_SEARCH_ENGINE_ID'
query = 'SEARCH_QUERY'
url = f'https://www.googleapis.com/customsearch/v1?key={api_key}&cx={cse_id}&q={query}&searchType=image'
response = requests.get(url)
data = response.json()
# 处理API响应并提取图片链接
for item in data['items']:
image_url = item['link']
print(image_url)
用h3标签锚定关键词,触发配图
# 解析文章中的H3标签
h3_tags = ["H3 Tag 1", "H3 Tag 2", "H3 Tag 3"] # 用实际的H3标签替换
for tag in h3_tags:
# 使用H3标签文本作为搜索关键词
query = tag
# 使用CSE API搜索图片
url = f'https://www.googleapis.com/customsearch/v1?key={api_key}&cx={cse_id}&q={query}&searchType=image'
response = requests.get(url)
data = response.json()
# 提取图片链接
if 'items' in data:
image_url = data['items'][0]['link']
# 将图片链接插入到H3标签下
article = article.replace(tag, f'{tag}<br><img src="{image_url}" alt="{tag}">')
效果:
测试的网站效果:https://www.hhtai.com
注意自定义搜索有可能涉及版权风险,可以在添加参数:"-license:commercial"来排除商业用途的图片。
如果对图片质量要求高可以使用CSE API的imgSize
参数来指定所需的图像尺寸,确保获取高分辨率的图片。
url = f'https://www.googleapis.com/customsearch/v1?key={api_key}&cx={cse_id}&q={query}&searchType=image&imgSize=large'
注意谷歌自定义搜索每天有限额,Google Cloud帐户类型不同限额也不同,可以查看你的CSE API,点击它以查看详细信息,包括每日请求配额。当然也可以多注册几个Google Cloud帐户,轮换使用。