如何访问谷歌(图片)搜索引擎数据



这个Stackoverflow答案指出,谷歌的自定义搜索API允许搜索整个网络。

我真的不在乎结果顺序,但想...

  • 在我自己的网站上,使用浏览器JavaScript或至少NodeJS,使用这样的过滤器对整个网络进行图像搜索,并在JavaScript中处理结果(在我的网站上显示结果)

  • 还要进行反向图像搜索(查找与特定图像URL相似的图像)

需要明确的是,我不想根据我网站的内容进行搜索,而只想自己显示全球结果。

这是否可能以合法的方式(而不是通过抓取谷歌网站)?

注意我只对公共领域/CC0图像感兴趣(Google可以按许可证过滤图像)。

如果你使用的是Node.js(因为问题被标记了),有一个名为fotology的npm模块可以完成你所问的。它甚至允许按许可证过滤:

let options = {
    size: "large", // large images only 
    language: "fr", // French 
    safe: true, // force safe search on 
    color: "white", // white cats only please
    rights: "cc_publicdomain" // Only public domain images
}
fotology("cats", options)
.then(function (imageURLs) {
    for (i in imageURLs)
        console.log imageURLs[i];
});

免责声明:我是该特定版本的模块的作者(原始模块不允许按图像许可证过滤)

由于此API不再可用,您可以使用我们的第三方服务(如SerpApi)来抓取Google并恢复结构化JSON。

使用 Node.js 库的示例:

var gsr = require('GoogleSearchResults')
let serp = new gsr.GoogleSearchResults("demo")
serp.json_with_images({
 q: "Cats Meme", 
 location: "Portland"
}, (result) => {
  console.log(result)
})

我今天(2018 年)知道的唯一图像搜索 API 是必应 API。我过去使用过雅虎和谷歌,但他们都停止了运营。

您每月获得 1000 次

免费搜索,此后大约是 5/1000 次搜索。我昨晚刚刚实现了它;效果很好。

最新更新