我可以将 Google 图片搜索嵌入我的 html5 网页吗
Can I embed Google Image search into my html5 webpage
我想做的是让用户点击我网站上的按钮(实际上是一个在用户机器上本地运行的网络应用程序,因此每个实例都是单个用户),它会启动 Google 图片搜索设置各种参数并在我的 html 页面的一部分中显示结果。
这是因为他们可以 select 图片并将其拖放到我网页上的拖放区。这部分有效,但目前搜索在新选项卡中打开,因此从该选项卡拖到我的选项卡有点麻烦。
作为 iframe 嵌入不起作用,Google 不允许这样做。
所以
a> 是否有 Google 认可的 API 我可以用来执行 Google 搜索图像并在我的页面中显示。
b> 我可以从我的服务器发送 url 请求吗(我喜欢 curl/wget 然后截屏结果并显示在网页上
Google 已停用图像搜索 API,它不再可用(请参阅此 SO 线程和替代方案)。
如果你打开你提供的URL,它会这样说:
{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}
Google 的自定义搜索引擎 (CSE) API 每天限制为 100 个免费请求。
正在创建 cx
并对其进行修改以搜索图像
- 根据您的搜索条件在 https://cse.google.com/cse/create/new 创建自定义搜索引擎。
- 选择要搜索的站点(如果要搜索整个网络,请留空,否则您可以输入站点以在特定站点中搜索)
- 为您的搜索引擎输入名称和语言。
- 单击 "create." 您现在可以在浏览器中找到
cx
URL。
- 在 "Modify your search engine," 下单击 "Control Panel" 按钮。在 "edit" 部分,您会找到一个带有 ON/OFF 按钮的 "Image Search" 标签,将其更改为 ON。单击 "update" 保存您的更改。
正在使用 API
进行搜索
API 端点 url 是 https://www.googleapis.com/customsearch/v1
以下 JSON 参数用于此 API:
q
: 指定搜索文本
num
:指定结果数。需要 1 到 10(含)之间的整数值
start
:结果的 "offset",搜索应该从哪个结果开始。需要 1 到 101 之间的整数值。
imgSize
:图像的大小。我用了 "medium"
searchType
:必须设置为"image"
filetype
:指定图像的文件类型。我使用了`"jpg",但如果文件扩展名对你来说不重要,你可以忽略它。
key
:一个API键,从https://console.developers.google.com/ 获得
cx
: 上一节中的自定义搜索引擎ID
只需将上述参数作为 JSON 传递给 API 端点(也在上面列出),即可发出 GET
请求。
注意: 如果您在搜索引擎设置中设置了引荐列表,则通过浏览器访问 URL 可能无法正常工作。您将需要从此列表中指定的服务器进行 AJAX 调用(或其他语言的等效调用)。它仅适用于在配置设置中指定的引荐来源网址。
参考:
https://developers.google.com/custom-search/json-api/v1/reference/cse/list
答案来自:
我想做的是让用户点击我网站上的按钮(实际上是一个在用户机器上本地运行的网络应用程序,因此每个实例都是单个用户),它会启动 Google 图片搜索设置各种参数并在我的 html 页面的一部分中显示结果。
这是因为他们可以 select 图片并将其拖放到我网页上的拖放区。这部分有效,但目前搜索在新选项卡中打开,因此从该选项卡拖到我的选项卡有点麻烦。
作为 iframe 嵌入不起作用,Google 不允许这样做。
所以
a> 是否有 Google 认可的 API 我可以用来执行 Google 搜索图像并在我的页面中显示。
b> 我可以从我的服务器发送 url 请求吗(我喜欢 curl/wget 然后截屏结果并显示在网页上
Google 已停用图像搜索 API,它不再可用(请参阅此 SO 线程和替代方案)。
如果你打开你提供的URL,它会这样说:
{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}
Google 的自定义搜索引擎 (CSE) API 每天限制为 100 个免费请求。
正在创建 cx
并对其进行修改以搜索图像
- 根据您的搜索条件在 https://cse.google.com/cse/create/new 创建自定义搜索引擎。
- 选择要搜索的站点(如果要搜索整个网络,请留空,否则您可以输入站点以在特定站点中搜索)
- 为您的搜索引擎输入名称和语言。
- 单击 "create." 您现在可以在浏览器中找到
cx
URL。 - 在 "Modify your search engine," 下单击 "Control Panel" 按钮。在 "edit" 部分,您会找到一个带有 ON/OFF 按钮的 "Image Search" 标签,将其更改为 ON。单击 "update" 保存您的更改。
正在使用 API
进行搜索API 端点 url 是 https://www.googleapis.com/customsearch/v1
以下 JSON 参数用于此 API:
q
: 指定搜索文本num
:指定结果数。需要 1 到 10(含)之间的整数值start
:结果的 "offset",搜索应该从哪个结果开始。需要 1 到 101 之间的整数值。imgSize
:图像的大小。我用了"medium"
searchType
:必须设置为"image"
filetype
:指定图像的文件类型。我使用了`"jpg",但如果文件扩展名对你来说不重要,你可以忽略它。key
:一个API键,从https://console.developers.google.com/ 获得
cx
: 上一节中的自定义搜索引擎ID
只需将上述参数作为 JSON 传递给 API 端点(也在上面列出),即可发出 GET
请求。
注意: 如果您在搜索引擎设置中设置了引荐列表,则通过浏览器访问 URL 可能无法正常工作。您将需要从此列表中指定的服务器进行 AJAX 调用(或其他语言的等效调用)。它仅适用于在配置设置中指定的引荐来源网址。
参考: https://developers.google.com/custom-search/json-api/v1/reference/cse/list
答案来自: