我正在使用 Google 自定义搜索来获取符合某些条件的图像。
我正在从 java 应用程序发起 HTTP Get 请求来调用 Google 自定义搜索 API
(请注意我是NOT使用 javascript 或 css 我是NOT开发网站)。
我能够获取图像,并且程序正在运行。该应用程序带来的图像有Jpg
扩大。
我想要 :
- bring ONLY的图像有
png
扩大AND有透明背景。
我试图指定filetype
在请求 URL 的查询字符串中,如下所示
https://www.googleapis.com/customsearch/v1?q=cars&filetype=png&cx=[myinformatino]&searchType=image&rights=cc_publicdomain&num=10&key=[myKey]
但结果确实还是在jpg
而谷歌自定义搜索只会带来一两个结果。
Notes
- 我还将搜索结果配置到 ImageResult (来自
Search Features
-> Advanced
页)如下图
我还创立了此代码示例来自谷歌文档 https://developers.google.com/custom-search/docs/structured_search#filetype它限制了图像的类型,但它们似乎是在 javascript 中(而不是在 java 中),这根本不适合我。
UPDATE我找到了一个用于搜索的解决方案png
文件,解决方案是提供filetype:png
在查询本身中,而不是将此值指定为 Google 自定义搜索的查询字符串。结果是合理且可以接受的。
UPDATE我也尝试过tbs
查询字符串参数,用于 Google 图片搜索,如果我们想要获取透明图像,其工作原理如下
?tbs=ic:trans&
这仅适用于 Google 图片搜索,但不适用于 Google 自定义搜索。即使当我使用hq
Google 自定义搜索的参数,只需将参数添加到 url 中即可添加tbs
范围。
但我仍然无法让 Google 自定义搜索带来仅具有透明背景的图像。
UPDATE
如果有办法使用 Bing Search API 实现相同的目标(使图像具有透明背景),我也会接受答案。
我也尝试了 Bing Search API,它也有效,但出现了同样的问题,无法指定我需要具有透明背景的图像。
UPDATE根据这次讨论 https://groups.google.com/forum/#!topic/google-ajax-search-api/7zM5i_zX7okGoogle 已弃用的搜索 api 中有一个未记录的参数,它确实会带来透明图像,如下所示
imgc=trans
这适用于旧的已弃用的 google 搜索 api,但不适用于新 API,也不适用于 BING api。
UPDATE对于 Bing 搜索 API,我尝试添加此查询参数,该参数将 BING 图像搜索中的透明背景(在网站中而不是 API 中)添加到 URL
qft=+filterui:photo-transparent
虽然这适用于普通 BING 搜索,但不适用于 BING 搜索 API。