谷歌Web搜索API已弃用,由自定义搜索API取代(参见http://code.google.com/apis/websearch/)。
我想搜索整个网络,但看起来有了新的API,只有自定义网站可以搜索。
有没有一种方法可以通过编程的方式搜索整个网络?我可以从Java程序中使用JSON查询旧的API。
谷歌Web搜索API已弃用,由自定义搜索API取代(参见http://code.google.com/apis/websearch/)。
我想搜索整个网络,但看起来有了新的API,只有自定义网站可以搜索。
有没有一种方法可以通过编程的方式搜索整个网络?我可以从Java程序中使用JSON查询旧的API。
当前回答
有一个叫做JFreeWebSearch的免费Java API,它使用了前面提到的Faroo: http://www.ke.tu-darmstadt.de/resources/jfreewebsearch
其他回答
在文档上面有个备注
注:谷歌Web搜索API有 已正式弃用 2010年11月1日。它将继续 按照我们的弃用政策工作 但是请求的数量 每天制作的数量是有限的。 因此,我们鼓励您搬到 新的自定义搜索API。
弃用策略说他们将继续运行API 3年。因此,如果您已经有了一个使用旧API的应用程序,您还不必急于进行更改。如果您正在编写一个新的应用程序,请使用自定义搜索API。关于如何在Python中做到这一点,请参阅我的回答,但任何语言的想法都是一样的。
Gigablast提供了一个廉价的网络搜索API: http://www.gigablast.com/searchfeed.html
在自定义搜索控制面板的底部有一个选项:“要搜索的网站”,你可以选择“搜索整个网络,但强调包含的网站”
您可以从谷歌自定义搜索主页(http://www.google.com/cse/)创建“无处不在”自定义搜索引擎。 在添加新引擎时,您只需单击“高级”。在这里您可以提供Schema.org站点类型。“Thing”是最通用的类型,它涵盖了整个网络。
谷歌自定义搜索(正如在排名靠前的答案中所提倡的那样)工作得很好,但与它的竞争对手(下图)或其他谷歌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文章中有一些关于这些的讨论。 [因为跑题被关闭,现在走了]