当前位置:  开发笔记 > 编程语言 > 正文

谷歌图片搜索说api不再可用

如何解决《谷歌图片搜索说api不再可用》经验,为你挑选了3个好方法。

我正在使用谷歌图片搜索API.直到昨天它正在运行,但今天早上它说"此API不再可用"

是正式关闭,还是我身边的任何错误

请求

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

响应

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

Vijay Shegok.. 109

我找到的答案是使用谷歌的自定义搜索引擎(CSE)API.请注意,这仅限于每天100次免费请求.

创建cx和修改它以搜索图像

    根据您的搜索条件,在https://cse.google.com/cse/create/new上创建自定义搜索引擎.

    选择要搜索的网站(如果要搜索整个网站,请将其留空,否则您可以输入要在一个特定网站中搜索的网站)

    输入搜索引擎的名称和语言.

    点击"创建".您现在可以cx在浏览器中找到URL.

    在"修改您的搜索引擎"下,单击"控制面板"按钮.在"编辑"部分,您将找到带有ON/OFF按钮的"图像搜索"标签,将其更改为ON.单击"更新"以保存更改.

使用API​​进行搜索

API端点网址是 https://www.googleapis.com/customsearch/v1

以下JSON参数用于此API:

q:指定搜索文本

num:指定结果数.需要1到10之间的整数值(含)

start:结果的"偏移量",这导致搜索应该从.需要1到101之间的整数值.

imgSize:图像的大小.我用了"medium"

searchType:必须设置为 "image"

filetype:指定图像的文件类型.我使用了"jpg",但如果文件扩展名对您无关紧要,可以将其保留.

key:API密钥,从https://console.developers.google.com/获取

cx:上一节中的自定义搜索引擎ID

只需GET通过将上述参数作为JSON传递给API端点(也在上面列出)来发出请求.

注意:如果您在搜索引擎设置中设置了引荐来源列表,则可能无法通过浏览器访问该网址.您需要从此列表中指定的服务器进行AJAX调用(或来自其他语言的等效调用).它仅适用于配置设置中指定的引荐来源.

参考:https: //developers.google.com/custom-search/json-api/v1/reference/cse/list



1> Vijay Shegok..:

我找到的答案是使用谷歌的自定义搜索引擎(CSE)API.请注意,这仅限于每天100次免费请求.

创建cx和修改它以搜索图像

    根据您的搜索条件,在https://cse.google.com/cse/create/new上创建自定义搜索引擎.

    选择要搜索的网站(如果要搜索整个网站,请将其留空,否则您可以输入要在一个特定网站中搜索的网站)

    输入搜索引擎的名称和语言.

    点击"创建".您现在可以cx在浏览器中找到URL.

    在"修改您的搜索引擎"下,单击"控制面板"按钮.在"编辑"部分,您将找到带有ON/OFF按钮的"图像搜索"标签,将其更改为ON.单击"更新"以保存更改.

使用API​​进行搜索

API端点网址是 https://www.googleapis.com/customsearch/v1

以下JSON参数用于此API:

q:指定搜索文本

num:指定结果数.需要1到10之间的整数值(含)

start:结果的"偏移量",这导致搜索应该从.需要1到101之间的整数值.

imgSize:图像的大小.我用了"medium"

searchType:必须设置为 "image"

filetype:指定图像的文件类型.我使用了"jpg",但如果文件扩展名对您无关紧要,可以将其保留.

key:API密钥,从https://console.developers.google.com/获取

cx:上一节中的自定义搜索引擎ID

只需GET通过将上述参数作为JSON传递给API端点(也在上面列出)来发出请求.

注意:如果您在搜索引擎设置中设置了引荐来源列表,则可能无法通过浏览器访问该网址.您需要从此列表中指定的服务器进行AJAX调用(或来自其他语言的等效调用).它仅适用于配置设置中指定的引荐来源.

参考:https: //developers.google.com/custom-search/json-api/v1/reference/cse/list


这是一个很好的解决方案,但请注意此API有一个配额.每天100次免费查询.之后每1000个查询5美元.即使启用了结算功能,您每天也不能超过10,000次查询,最高速率为每秒1次查询.
@Dexter(&其他所有人...)显然,他们已经在“设置”菜单中埋藏了搜索整个网络的选项。因此,您可以为随机域创建一个自定义搜索引擎,将其保存,然后转到“编辑>设置”,删除该域并启用“搜索整个网络”。
您需要在Advanced下的Image.org类型下输入内容,然后才能创建自定义搜索引擎.然后,您可以在打开图像搜索时删除标记.
Google现在要求您放入一个站点进行搜索:“创建搜索引擎之前,您必须至少输入一个站点或架构。”

2> 小智..:

现在您可以使用自定义图像搜索API搜索图像.

您可以通过两个步骤完成此操作:

1)获取CUSTOM_SEARCH_ID

转到 - https://cse.google.ru/cse/all

在这里,您必须创建新的搜索引擎.这样做并在那里启用图像搜索.

屏幕(我是俄罗斯人...对不起)

图像搜索启用

然后获取此搜索引擎ID.要执行此操作,请按"获取代码"按钮:

获取代码按钮

并找到cx ="这里将是你的CUSTOM_SEARCH_ID"的行:

获得CSE ID

好.它已经完成,现在是第二步:

2)获取SERVER_KEY

转到Google控制台 - https://console.developers.google.com/project

Google API控制台

按下创建项目按钮,输入名称和其他所需信息.选择此项目并转到启用Apis 项目仪表板 现在找到自定义搜索引擎.

定制SE找到 并启用它.

启用自定义搜索

现在我们必须转到凭据并创建新的服务器密钥:

创建服务器密钥

好.现在我们可以使用图片搜索了.

查询:

https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json

替换SERVER_KEY和CUSTOM_SEARCH_ID并调用此请求.

限制:免费,您每天只能搜索100张图片.谢谢你的关注.



3> jjj..:

如果这仅仅是出于您自己的目的(而非用于制作)并且您不打算滥用Google图片搜索,则只需使用JSOUP从Google搜索结果中提取第一张图片网址即可.

例如: 用于检索第一个缩略图的图像URL的代码:

public static String FindImage(String question, String ua) {
            String finRes = "";

    try {
            String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
            Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
            Element media = doc1.select("[data-src]").first();
            String finUrl = media.attr("abs:data-src"); 

            finRes= "";

        } catch (Exception e) {
            System.out.println(e);
        }

        return finRes;
    }

指南:

问题 - 图像搜索术语

ua - 浏览器的用户代理

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有