如何在Google自定义搜索中指定图像类型

时间:2015-12-02 07:05:54

标签: java google-custom-search bing-api

我正在使用Google自定义搜索来获取具有某些条件的图片。
我正在启动来自java应用程序的HTTP Get请求以调用Google Custom Search API(请注意我使用javascript或css,我开发web位点)。

我能够获取图像,程序正在运行。该应用程序带来了Jpg扩展名的图像。

我想:

  • ONLY 的图片png扩展名 AND 具有透明背景。

我尝试在请求网址的查询字符串中指定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自定义搜索配置为启用图像搜索(也来自控制面板),如下所示

enter image description here

  • 我还将搜索结果配置为ImageResult(来自Search Features - > Advanced页面),如下图所示

enter image description here

我还创建了this code examples from google documentation,它限制了Image的类型,但它们似乎是javascripts(不是java),根本不适合我。

更新 我找到了搜索png文件的解决方案,解决方案是在查询中提供filetype:png,而不是将此值指定为Google自定义搜索的查询字符串。结果合理且可以接受。

更新 我还尝试了tbs查询字符串参数,该参数在Google图片搜索中使用,如果我们想要获取透明图像,则该参数如下所示

?tbs=ic:trans&

这仅适用于Google图片搜索,但它无法在Google自定义搜索中使用。即使我使用hq参数进行Google自定义搜索,只需将参数添加到网址即可添加tbs参数。

但我仍然无法使用Google自定义搜索来带来仅具有透明背景的图像。

更新

如果有办法使用Bing Search API实现相同的目标(带有透明背景的图像),我也会接受答案。 我也尝试了Bing Search API,它也有效,但同样的问题出现了,没有办法指明我需要一个透明背景的图像。

更新 根据{{​​3}} Google弃用的搜索API中有未记录的参数,它会带来透明图像,如下所示

imgc=trans

这适用于旧的已弃用的谷歌搜索API,但它不适用于新的API,也不适用于BING API。

更新 对于Bing Search API,我尝试添加此查询参数,该参数将BING图像搜索中的透明背景(在不在API中的网站中)spicyf到URL

qft=+filterui:photo-transparent

虽然这适用于Normal BING搜索,但它不适用于BING Search API。

3 个答案:

答案 0 :(得分:1)

查看图像搜索的网址,我发现参数是tbs。

例如:

透明图片:...&tbs=ic:trans&....
灰色图片:...&tbs=ic:gray&...
特定颜色(例如:橙色):...&tbs=ic:specific,isc:orange&...

微米。

答案 1 :(得分:1)

对于Bing问题,此功能尚未在API中实现。

答案 2 :(得分:1)

如何将“透明”放在查询字符串的末尾?它对我有用:&q="<brand>+logo+transparent" 对于文件类型&filetype=png