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

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

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


当前回答

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

创建一个谷歌自定义搜索引擎,搜索整个网络:

From the Google Custom Search homepage ( http://www.google.com/cse/ ), click Create a Custom Search Engine. Type a name and description for your search engine. Under Define your search engine, in the Sites to Search box, enter at least one valid URL (For now, just put www.anyurl.com to get past this screen. More on this later ). Select the CSE edition you want and accept the Terms of Service, then click Next. Select the layout option you want, and then click Next. Click any of the links under the Next steps section to navigate to your Control panel. In the left-hand menu, under Control Panel, click Basics. In the Search Preferences section, select Search the entire web but emphasize included sites. Click Save Changes. In the left-hand menu, under Control Panel, click Sites. Delete the site you entered during the initial setup process.

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

定价

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

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


搜索质量远远低于正常的谷歌搜索(没有同义词,“智能”等) 谷歌甚至计划完全关闭这项服务。

其他回答

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

谷歌自定义搜索(正如在排名靠前的答案中所提倡的那样)工作得很好,但与它的竞争对手(下图)或其他谷歌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文章中有一些关于这些的讨论。 [因为跑题被关闭,现在走了]

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

创建一个谷歌自定义搜索引擎,搜索整个网络:

From the Google Custom Search homepage ( http://www.google.com/cse/ ), click Create a Custom Search Engine. Type a name and description for your search engine. Under Define your search engine, in the Sites to Search box, enter at least one valid URL (For now, just put www.anyurl.com to get past this screen. More on this later ). Select the CSE edition you want and accept the Terms of Service, then click Next. Select the layout option you want, and then click Next. Click any of the links under the Next steps section to navigate to your Control panel. In the left-hand menu, under Control Panel, click Basics. In the Search Preferences section, select Search the entire web but emphasize included sites. Click Save Changes. In the left-hand menu, under Control Panel, click Sites. Delete the site you entered during the initial setup process.

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

定价

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

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


搜索质量远远低于正常的谷歌搜索(没有同义词,“智能”等) 谷歌甚至计划完全关闭这项服务。

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

http://www.commoncrawl.org/

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

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