谷歌Web搜索API已弃用,由自定义搜索API取代(参见http://code.google.com/apis/websearch/)。

我想搜索整个网络,但看起来有了新的API,只有自定义网站可以搜索。

有没有一种方法可以通过编程的方式搜索整个网络?我可以从Java程序中使用JSON查询旧的API。


当前回答

谷歌自定义搜索(正如在排名靠前的答案中所提倡的那样)工作得很好,但与它的竞争对手(下图)或其他谷歌API相比,它非常昂贵。它有一个小的免费层(每天100次查询),每1000次查询的价格非常高,为5美元。

他们提供了升级到网站搜索的选项,价格稍微好一点,但这意味着搜索一个网站(你自己的),所以这真的是很不同的东西——不是升级。

主要的替代方案似乎是:

必应搜索API https://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/

请参见这里的定价图表,1000笔交易的起价为3美元/米。除非我遗漏了什么东西,这是相当昂贵的。

雅虎老板搜索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/ [已停止-如下所述]

在这篇SO文章中有一些关于这些的讨论。 [因为跑题被关闭,现在走了]

其他回答

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

我刚从《普通爬行》上看到这个。

http://www.commoncrawl.org/

也许这就是我们都在寻找的答案!!

在文档上面有个备注

注:谷歌Web搜索API有 已正式弃用 2010年11月1日。它将继续 按照我们的弃用政策工作 但是请求的数量 每天制作的数量是有限的。 因此,我们鼓励您搬到 新的自定义搜索API。

弃用策略说他们将继续运行API 3年。因此,如果您已经有了一个使用旧API的应用程序,您还不必急于进行更改。如果您正在编写一个新的应用程序,请使用自定义搜索API。关于如何在Python中做到这一点,请参阅我的回答,但任何语言的想法都是一样的。

您可以从谷歌自定义搜索主页(http://www.google.com/cse/)创建“无处不在”自定义搜索引擎。 在添加新引擎时,您只需单击“高级”。在这里您可以提供Schema.org站点类型。“Thing”是最通用的类型,它涵盖了整个网络。

有一个叫做JFreeWebSearch的免费Java API,它使用了前面提到的Faroo: http://www.ke.tu-darmstadt.de/resources/jfreewebsearch