332

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

我想搜索整个网络,但看起来使用新 API 只能搜索自定义站点。

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

4

10 回答 10

491

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

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

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

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

价钱

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

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


  • 搜索质量远低于正常的谷歌搜索(没有同义词,“智能”等)
  • 谷歌似乎甚至打算完全关闭这项服务。
于 2012-06-26T11:23:09.393 回答
56

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

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

主要的替代方案似乎是:

Bing 搜索 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/

请参阅此处获取定价图表,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/
[已停产-如下所述]

在这个 SO post上有一些关于其中一些的讨论。
[因离题而关闭,现在消失了]

于 2014-03-19T01:20:34.960 回答
41

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

于 2010-11-02T23:21:09.613 回答
27

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

自定义搜索控制面板 - 要搜索的站点

于 2013-08-04T14:13:54.527 回答
14

Faroo 有一个免费的网络搜索 API

于 2012-11-18T13:24:19.740 回答
6

我刚刚从 Common Crawl 遇到了这个问题。

http://www.commoncrawl.org/

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

于 2012-02-02T16:39:06.373 回答
4

文档顶部有一条注释:

注意:Google Web Search API 已于 2010 年 11 月 1 日正式弃用。根据我们的弃用政策,它将继续工作,但您每天可以提出的请求数量将受到限制。因此,我们鼓励您迁移到新的自定义搜索 API

弃用政策说他们将继续运行 API 3 年。因此,如果您已经有一个使用旧 API 的应用程序,则不必急于更改。如果您正在编写新应用程序,请使用自定义搜索 API。有关如何在 Python 中执行此操作,请参阅我的答案,但任何语言的想法都是相同

于 2011-01-02T21:21:51.047 回答
3

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

于 2013-01-25T08:29:43.380 回答
1

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

于 2014-08-05T08:54:10.473 回答
0

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

于 2013-06-07T03:10:48.123 回答