Google 自定义搜索 API - 反向图像搜索
Posted
技术标签:
【中文标题】Google 自定义搜索 API - 反向图像搜索【英文标题】:Google Custom Search API - Reverse image search 【发布时间】:2015-01-26 20:39:09 【问题描述】:我收集了一些缺少相关信息的图片。我希望能够进行谷歌反向图像搜索以查找名称、关键字、指向相似图像的链接等。我知道抓取搜索结果页面违反了 TOS,并且得到了使用自定义的建议搜索 API 是解决此问题的正确方法,但我无法在详细说明反向图像搜索的文档中找到任何内容。如果 API 可以做到这一点,是否有人能够为我指明正确的方向,或者验证它是否实际上受支持?
非常感谢!
【问题讨论】:
我还需要谷歌按图片搜索(反向图片搜索)作为官方API。 【参考方案1】:至于当前的 API,我没有发现任何关于反向图像搜索功能的提及。除了基于字符串的查询之外,什么都没有。您可以在自定义搜索的详细 API 参考中自行查找。
https://developers.google.com/custom-search/docs/xml_results
https://developers.google.com/custom-search/json-api/v1/reference/cse/list
所以 Google-custom-search 不提供该功能。
查看提供的其他 API 后,它们都没有提供此功能。尝试在此处查看 Google 支持的所有不同类型的 API:
https://developers.google.com/apis-explorer/#p/
因此得出结论,没有通过 Google 的 API 进行反向图像搜索。 (这可能会改变,我不能说什么,看看上面提供的链接)
有些供应商提供付费 API。
TinEye API https://services.tineye.com/TinEyeAPI
白炽灯 API http://incandescent.xyz/pricing/
否则你必须请求谷歌原谅你对你的宠物项目的一点 TOS 违反:)
【讨论】:
有人可以确认情况仍然如此(2018 年 12 月)吗?不幸的是,在我看来,这个答案 4 年后,反向图像搜索并没有发展多少【参考方案2】:第三方解决方案 SerpApi 支持抓取 Google 反向图像。这是一个免费试用的付费 API。
我们以这张 Danny DeVito 的图片为例:https://i.imgur.com/HBrB8p0.png
示例 python 代码(其他库中也有):
from serpapi import GoogleSearch
params =
"engine": "google_reverse_image",
"google_domain": "google.com",
"image_url": "https://i.imgur.com/HBrB8p0.png",
"api_key": "secret_api_key"
search = GoogleSearch(params)
results = search.get_dict()
JSON 响应示例:
...
"image_results": [
"position": 1,
"title": "Danny DeVito - Wikipedia",
"link": "https://en.wikipedia.org/wiki/Danny_DeVito",
"displayed_link": "https://en.wikipedia.org › wiki › Danny_DeVito",
"snippet": "Daniel Michael DeVito Jr. (born November 17, 1944) is an American actor, comedian, director, producer, and screenwriter. He gained prominence for his ...",
"cached_page_link": "https://webcache.googleusercontent.com/search?q=cache:EVb7AC9xwHYJ:https://en.wikipedia.org/wiki/Danny_DeVito+&cd=1&hl=en&ct=clnk&gl=us",
"related_pages_link": "https://www.google.com/search?q=related:https://en.wikipedia.org/wiki/Danny_DeVito&sa=X&ved=2ahUKEwi7uom3wJ_xAhWxHDQIHct6DmQQHzAAegQIBhAQ"
,
"position": 2,
"title": "Danny DeVito - IMDb",
"link": "https://www.imdb.com/name/nm0000362/",
"displayed_link": "https://www.imdb.com › name",
"snippet": "Danny DeVito, Actor: Matilda. Danny DeVito has amassed a formidable and versatile body of work as an actor, producer and director that spans the stage, ...",
"cached_page_link": "https://webcache.googleusercontent.com/search?q=cache:c6r3v14HA7cJ:https://www.imdb.com/name/nm0000362/+&cd=2&hl=en&ct=clnk&gl=us"
,
"position": 3,
"title": "Danny DeVito - Simple English Wikipedia, the free encyclopedia",
"link": "https://simple.wikipedia.org/wiki/Danny_DeVito",
"displayed_link": "https://simple.wikipedia.org › wiki › Danny_DeVito",
"thumbnail": "https://serpapi.com/searches/60cbb000ce87f8cca8f63685/images/9db7034fa3524b93ce0598116fd3b874800a67b8b9434cd54a009f2be5fd0809.jpeg",
"thumbnail_destination_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Danny_DeVito_by_Gage_Skidmore.jpg/1200px-Danny_DeVito_by_Gage_Skidmore.jpg",
"image_resolution": "1200 × 1427",
"snippet": "Daniel Michael \" · Danny\" · DeVito, Jr. (born November 17, 1944) is an American actor, director, producer and screenwriter. He has starred in and directed a number ...",
"cached_page_link": "https://webcache.googleusercontent.com/search?q=cache:2DR2mxjaZbsJ:https://simple.wikipedia.org/wiki/Danny_DeVito+&cd=32&hl=en&ct=clnk&gl=us",
"related_pages_link": "https://www.google.com/search?q=related:https://simple.wikipedia.org/wiki/Danny_DeVito&sa=X&ved=2ahUKEwi7uom3wJ_xAhWxHDQIHct6DmQQHzAfegQIFhAQ"
,
...
]
查看documentation了解更多详情。
免责声明:我在 SerpApi 工作。
【讨论】:
以上是关于Google 自定义搜索 API - 反向图像搜索的主要内容,如果未能解决你的问题,请参考以下文章
如何在目标 c 中使用 Google 自定义搜索进行图像搜索