现在 Google 网络搜索 API 已被弃用,还都有哪些替代方案? [关闭]

Posted

技术标签:

【中文标题】现在 Google 网络搜索 API 已被弃用,还都有哪些替代方案? [关闭]【英文标题】:What are the alternatives now that the Google web search API has been deprecated? [closed]现在 Google 网络搜索 API 已被弃用,还有哪些替代方案? [关闭] 【发布时间】:2011-05-04 05:38:54 【问题描述】:

Google Web Search API 已被弃用,取而代之的是自定义搜索 API(请参阅 http://code.google.com/apis/websearch/)。

我想搜索整个网络,但似乎使用新 API 只能搜索自定义网站。

有没有办法以编程方式搜索整个网络?我能够使用 Java 程序中的 JSON 查询旧 API。

【问题讨论】:

我一直在使用替代google search api。它超级好用。 还有SerpApi。对于 Google 搜索和其他引擎来说,这是一个可靠的解决方案。 【参考方案1】:

你可以像浏览器一样发送它们,然后解析 html,这就是我一直做的事情,即使是像 Youtube 这样的东西。

【讨论】:

我被告知 google 的服务条款禁止爬取... 来自TOS:“您明确同意不通过任何自动化方式(包括使用脚本或网络爬虫)访问(或尝试访问)任何服务......”跨度> “违反服务提供商的服务条款”绝不是一个好建议。解析网页会在没有警告的情况下从一天到另一天中断,这是一个糟糕的建议 - 这就是它被否决的原因更多的是它被赞成的原因。 是的,它违反了服务条款,但我个人不会担心。谷歌可以处理一点点抓取,毕竟他们通过抓取别人的网站赚了一大笔钱。 来吧人们。不要那么天真。谷歌不能强迫你接受这个 ToS。要违反 ToS,您必须首先同意它(以书面形式,或单击“是的,我接受条款”等按钮)。想一想:我在我的网页上放了一个服务条款,每个访问该页面的人都必须给我 10000 美元。我可以对我的访问者强制执行此服务条款吗?有没有必要马上给我。【参考方案2】:

docs 上面有一个注释:

注意:Google Web Search API 具有 已正式弃用 2010 年 11 月 1 日。它将继续 按照我们的deprecation policy工作, 但你可能的请求数量 每天制作将受到限制。 因此,我们鼓励您搬到 新的Custom Search API。

deprecation policy 表示他们将继续运行 API 3 年。因此,如果您已经有一个使用旧 API 的应用程序,则不必急于更改。如果您正在编写一个新应用程序,请使用Custom Search API。请参阅我的回答 here 了解如何在 Python 中执行此操作,但任何语言的想法都是一样的。

【讨论】:

而且它不是免费的……“每 1000 次查询 5 美元”……非常不免费! 这个答案现在已经过时了,因为三年过去了,2014/09/29 已经过去了。 CustomeSearchAPI 并非在所有网站中 - 它是针对用户网站的【参考方案3】:

我刚从 Common Crawl 发现这个。

http://www.commoncrawl.org/

可能是我们都在寻找的答案!

【讨论】:

它有一个有限的索引,大约每年刷新一次。而且它最终相当昂贵,因为您必须插入 Amazon S3。 @GuillaumeLebourgeois,贵吗?我不认为那是真的。这是一个非营利组织。全部 102 TB 数据可供免费下载。 费用是连接到您可以访问的 AWS 的费用。如果您是学生,您有资格享受他们的免费套餐,但仍可能需要支付转学费等;如果您不在免费套餐中,则需要支付运行费用。 普通抓取现在好像每月更新一次【参考方案4】:

是的,Google 自定义搜索现在已经取代了旧的 Search API,但是可以仍然使用 Google 自定义搜索来搜索整个网络,尽管步骤并不明显来自自定义搜索设置。

要创建搜索整个网络的 Google 自定义搜索引擎:

    在 Google 自定义搜索主页 (http://www.google.com/cse/) 中,点击创建自定义搜索引擎。 输入搜索引擎的名称和说明。 在定义您的搜索引擎下,在要搜索的站点框中,输入至少一个有效的 URL(现在,只需输入 www.anyurl.com 即可通过此屏幕。稍后会详细介绍)。 选择您想要的 CSE 版本并接受服务条款,然后单击下一步。选择所需的布局选项,然后单击“下一步”。 单击“后续步骤”部分下的任何链接以导航到您的控制面板。 在左侧菜单的“控制面板”下,单击“基本”。 在“搜索首选项”部分中,选择“搜索整个网络,但强调包含的网站”。 点击保存更改。 在左侧菜单的“控制面板”下,单击“站点”。 删除您在初始设置过程中输入的网站。

现在您的自定义搜索引擎将搜索整个网络。

定价

Google 自定义搜索每天免费为您提供 100 个查询。 之后,您需要为每 1000 个查询支付 5 美元。 每天最多有 10,000 个查询。

来源:https://developers.google.com/custom-search/json-api/v1/overview#Pricing


搜索质量远低于正常的 Google 搜索(没有同义词、“智能”等) Google 似乎甚至打算彻底关闭这项服务。

【讨论】:

谢谢。希望这是一个有效的程序,而不是等待 Google 填补的漏洞! 谢谢!这可能是互联网上解决我问题的唯一答案。令人难以置信的是,为什么 Google 会终止对其核心服务的直接 API 支持。 但是如何与 json 一起使用呢? 警告:我们使用免费版本进行开发,但升级到付费版本(进行超过 100 次搜索),谷歌强制您关闭“搜索整个网络但强调包含的网站" “2017 年 4 月 1 日,Google 将停止销售 Google Site Search。所有新的购买和续订都必须在此日期之前进行。该产品将在 2018 年 4 月 1 日之前完全关闭。 "【参考方案5】:

法鲁有一个free Web Search API

【讨论】:

他们的结果有限,但起点很好。 @Jack,以前没听说过这个。他们从哪里获得搜索结果? Faroo 可能的交易破坏者是您的 API 密钥仅限于您在注册期间指定的 IP 地址。 这些家伙还在工作吗?我请求了 API 密钥,但什么也没听到。 页面现在有一个“即将推出”横幅...【参考方案6】:

有一个名为 JFreeWebSearch 的免费 Java API,它使用已经提到的 Faroo: http://www.ke.tu-darmstadt.de/resources/jfreewebsearch

【讨论】:

【参考方案7】:

Gigablast 提供廉价的网络搜索 API:http://www.gigablast.com/searchfeed.html

【讨论】:

【参考方案8】:

自定义搜索控制面板底部有一个选项:“要搜索的网站”,您可以选择“搜索整个网络,但强调包含的网站”

【讨论】:

它还对你有用吗? 是的,它仍然有效。 当您升级到付费搜索时,Google 会强制您关闭该选项。免费的搜索次数限制为 100 次。 @Yishu,为什么页面https://support.google.com/customsearch/answer/141877?hl=en 显示“您无法将 Google Site Search 配置为搜索整个网络”? @Pacerier,我不知道。也许政策已经改变?【参考方案9】:

Google 自定义搜索(如评价最高的答案所提倡的)效果很好,但与竞争对手(如下)或其他 Google API 相比,它的成本很高。它有一个小的免费套餐(每天 100 次查询)和每 1000 次查询 5 美元的非常高的价格。

他们提供升级到 Site Search 的选项,它的价格稍好一些,但这是为了搜索一个网站(您自己的),所以它确实是完全不同的东西 - 不是升级。

主要的替代方案似乎是:

必应搜索 APIhttps://datamarket.azure.com/dataset/5BA839F1-12CE-4CCE-BF57-A49D98D29A44 其免费套餐为 5000q/月,价格从每美分 5 次查询开始,没有硬性限制。

更新:2016 年底,该 API 被关闭,取而代之的是 Azure 对应的“认知服务必应搜索 API”:https://azure.microsoft.com/en-us/services/cognitive-services/search/

See here 获取定价图表,1,000 笔交易的起价为 3 美元/平方米。除非我错过了什么,否则它是相当昂贵的。

雅虎 BOSS 搜索 API 更新:已于 2016 年 3 月 31 日停产。 http://developer.yahoo.com/boss/search/ 整个网络搜索的价格从大约 12 次查询/美分起。

还有一些我以前没听说过的:

http://www.gigablast.com/searchfeed.html

http://www.faroo.com/hp/api/api.html

http://www.commoncrawl.org/

http://www.entireweb.com/search_api/implementation/ [已停产 - 如下所述]

this SO post 上对其中一些进行了一些讨论。 [因离题而关闭,现已消失]

【讨论】:

Bing Search API 版本 5 现在允许在所有 Bing Search API(Web、图像、视频、新闻搜索)上每月最多 1,000 次交易 - microsoft.com/cognitive-services/en-us/pricing。我整理了一些样本 - mvark.blogspot.in/2016/06/… entireweb.com 已停止服务,如此处所示entireweb.com/services 2016 年 12 月 15 日,必应 Web 搜索 API 将移至 Azure 市场 (azure.microsoft.com/en-us/services/cognitive-services/search) 的认知服务下,订阅需要电话 + 信用卡验证(即使是免费的)。 来自 Bing API:“DataMarket 和数据服务正在停用,并将在 2016 年 12 月 31 日之后停止接受新订单。现有订阅将从 2017 年 3 月 31 日起停用并取消。请与我​​们联系如果您想继续服务,请咨询您的服务提供商。” 感谢您指出更改 - 我已相应更新了答案。【参考方案10】:

您可以直接从 Google 自定义搜索主页 (http://www.google.com/cse/) 创建“无处不在”的自定义搜索引擎。 在添加新引擎期间,您应该单击“高级”。在那里您可以提供 Schema.org 站点类型。 'Thing' 是最通用的类​​型,它涵盖了所有的网络。

【讨论】:

我没听懂。它对你有用吗?

以上是关于现在 Google 网络搜索 API 已被弃用,还都有哪些替代方案? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Google api gettoken(Context,String,String) 现已弃用

facebook 错误中的标签搜索:(#11) 帖子搜索已被弃用

HttpEntity 现在在 Android 上已被弃用,还有啥替代方案?

Android位置已被弃用?

现在 MPMoviePlayerPlaybackDidFinishReasonUserInfoKey 已被弃用,找到播放结束原因的最佳方法是啥?

NSDictionary init(contentsOfFile:) 已被弃用,现在怎么办?