从Google图片返回第一个图片来源


10

如果我有搜索字词,是否可以从Google搜索中获取第一个图像源?

例如,如果输入为tomato,则输出为http://www.cksinfo.com/clipart/food/fruits/tomatoes/tomato.png

谢谢!

Answers:


5

Google自定义搜索API现在包括图像。每天您最多只能进行100次查询,但这是使用Google进行搜索的唯一合法方法。

如果链接指向错误:

通话方式

调用API有多种方法:

休息

Google自定义搜索API中的代表性状态转移与传统REST有所不同。API提供了对服务的访问,而不是提供对资源的访问。结果,API提供了一个充当服务端点的URI。

如API操作中所述,您可以使用GET REST HTTP动词访问Google Custom Search API服务端点。您将所有搜索请求的详细信息作为查询参数传递。

单个Google Custom Search API URI的特定格式为:

https://www.googleapis.com/customsearch/v1?parameters

参数是要应用于查询的任何参数。有关详细信息,请参见《使用REST》文档中的“使用搜索结果和查询参数参考”。

这是在Google自定义搜索API中如何工作的示例,该API在测试的自定义搜索引擎中搜索讲座:

GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures

来自JavaScript的REST

您可以使用JavaScript的REST,使用回调查询参数和回调函数来调用Google Custom Search API。这样,您就可以编写显示自定义搜索数据的丰富应用程序,而无需编写任何服务器端代码。

下面的示例使用这种方法来显示查询Tomato的搜索结果的第一页:

<html>
  <head>
    <title>JSON/Atom Custom Search API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function hndlr(response) {
      for (var i = 0; i < response.items.length; i++) {
        var item = response.items[i];
        // in production code, item.htmlTitle should have the HTML entities escaped.
        document.getElementById("content").innerHTML += "<br>" + item.htmlTitle;
      }
    }
    </script>
    <script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=tomato&callback=hndlr">
    </script>
  </body>
</html>

当然,您将更新脚本的src以包括要从中搜索的输入的值。


我们应该在scriptURL中公开地处置API密钥吗?o_O
T.Todua

3

您可以使用Google Image Search API来执行此操作。不幸的是,它已被弃用,因此您可能会发现每天可以查询的数量受到限制。我不确定是否有新的API替代它。


没有替代品,并且根据最近的API“春季大扫除”帖子,这个特定的API实际上在肯定会关闭的列表中(相对而言,不推荐使用,不再列出进一步的关闭时间表),尽管这很可能在三年的范围(请参阅第1.3节)。
Su

好的,但是我可以以某种方式获取结果页面的内容并解析第一个图像链接或其他内容吗?有任何解决方法吗?
2011年

您可以进行搜索,然后解析HTML以获取第一个结果。那绝对是可行的。不过,它可能违反了Google的服务条款。
约翰·孔德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.