我正在使用Google自定义搜索获取符合某些条件的图片。我正在从Java应用程序中发起HTTP Get请求来调用Google自定义搜索API(请注意,我不使用JavaScript或CSS,并且我不开发网站)。
我能够获取到图片并且程序正在运行。该应用程序会带来具有
我想要:
但是结果仍然是
注:
- 我已经从控制面板配置了Google自定义搜索以搜索所有网页,没有限制搜索某些网站。 - 我还从控制面板配置了Google自定义搜索以启用图像搜索,方法如下:
这仅适用于Google图像搜索,但在Google自定义搜索中无效。即使我在Google自定义搜索中使用了
这适用于旧的弃用的谷歌搜索API,但不适用于新的API,也不适用于BING API。
更新:对于Bing Search API,我尝试添加此查询参数,它在BING图像搜索中指定透明背景(在网站上而非API中)到URL。
尽管这对普通的BING搜索有效,但它并未适用于BING搜索API。
我能够获取到图片并且程序正在运行。该应用程序会带来具有
Jpg
扩展名的图片。我想要:
- 只获取具有
png
扩展名且具有透明背景的图片。
filetype
,如下所示:https://www.googleapis.com/customsearch/v1?q=cars&filetype=png&cx=[myinformatino]&searchType=image&rights=cc_publicdomain&num=10&key=[myKey]
但是结果仍然是
jpg
格式的,而且Google自定义搜索只返回了一两个结果。注:
- 我已经从控制面板配置了Google自定义搜索以搜索所有网页,没有限制搜索某些网站。 - 我还从控制面板配置了Google自定义搜索以启用图像搜索,方法如下:
- 我还将搜索结果配置为图像结果(从“搜索功能” ->“高级”页面),如下图所示
png
文件的解决方案,方法是在查询本身中提供filetype:png
,而不是将此值指定为Google自定义搜索的查询字符串。结果是合理且可接受的。
更新
我还尝试了tbs
查询字符串参数,它用于Google图像搜索,如果我们想获取透明图像,则会按以下方式工作。?tbs=ic:trans&
这仅适用于Google图像搜索,但在Google自定义搜索中无效。即使我在Google自定义搜索中使用了
hq
参数,它只是将参数添加到URL中以添加tbs
参数。
但我仍然无法强制Google自定义搜索仅显示具有透明背景的图像。
更新
如果有一种方法可以使用Bing搜索API实现相同的目标(获取具有透明背景的图像),我也会接受答案。 我还尝试了Bing搜索API,它也起作用,但出现了同样的问题,没有办法指定我需要具有透明背景的图像。
更新 根据this discussion,在Google已弃用的搜索API中存在未记录的参数,可以带来透明图像,如下所示:
imgc=trans
这适用于旧的弃用的谷歌搜索API,但不适用于新的API,也不适用于BING API。
更新:对于Bing Search API,我尝试添加此查询参数,它在BING图像搜索中指定透明背景(在网站上而非API中)到URL。
qft=+filterui:photo-transparent
尽管这对普通的BING搜索有效,但它并未适用于BING搜索API。