DuckDuckGo API - 如何获得更多结果?

时间:2015-03-30 12:27:17

标签: api search duckduckgo-api

使用DuckDuckGo API的默认搜索仅返回第一页上的结果(我估计大约25)。有没有办法获得更多结果或导航到搜索结果的第2页,第3页?

像Faroo这样的网站有一个名为s的参数(代表开始),如果我们想要前10个结果,可以设置为 1 11 如果我们想要接下来的10个结果,依此类推。还有像DuckDuckGo那样的东西吗?

1 个答案:

答案 0 :(得分:0)

这不是对以上问题的答案,因此请不要投票。但是,在通过Google获得此答案并且没有找到我正在寻找的信息之后,我编写了这个小的TamperMonkey脚本来完成这项工作。我将其发布在这里供未来的Google员工使用。

以下用户脚本可与Chrome,Firefox和Opera一起使用。脚本下方是安装说明,下面是TamperMonkey的简要说明。

此脚本的灵感来自于Tumpio,Endless Google的名字也与之类似(以纪念其命名)。

// ==UserScript==
// @name         Endless DuckDuckGo
// @namespace    http://tampermonkey.net/
// @match        https://duckduckgo.com/?q=*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    $(window).scroll(function(){
        var els = document.querySelectorAll('.result.result--more');
        if (els.length){
            var elmore = document.querySelectorAll('.result--more__btn.btn.btn--full');
            if (elmore.length){
                elmore[0].click();
            }
        }
    });
})();  //

如何安装上述脚本:

  1. Chrome安装TamperMonkey扩展名(或为Firefox安装“插件”)。

  2. 您将看到the TamperMonkey icon出现在浏览器顶部

  3. 在DuckDuckGo上进行搜索

  4. 单击TamperMonkey图标,然后从下拉菜单中选择“仪表板”

  5. 在“信息中心”页面顶部的标签上,点击标签栏左侧的[+]图标

  6. TamperMonkey编辑器将打开,带有空白的UserScript模板。删除整个示例脚本,并用本文中的脚本替换。

  7. 保存[Ctrl] + [s]

  8. 运行另一个DuckDuckGo搜索并向下滚动页面...真正的幸福是你的。

什么是TamperMonkey:

here是一个很好的概述。

TamperMonkey是浏览器扩展,并且所有主要浏览器都有一个版本。您可能已经在使用AdBlock或uBlock浏览器扩展程序-如果没有,为什么呢?无论如何,要安装Chrome浏览器,请转到Chrome Web Store并搜索Jan Binoc的TamperMonkey。安装它。 (是的,这很安全-有成千上万的用户,主要是编码人员)。请考虑捐赠-Jan应该得到您的支持(不,我不认识他,是的,我捐赠了。)

在TamperMonkey之前,还有另一个名为GreaseMonkey的扩展,其功能相同,但仅在Firefox上有效。但是,GreaseMonkey的作者停止了对它的维护,而Jan Binoc则用TamperMonkey登上了盘子。

TamperMonkey允许我们将自己的代码注入到任何网页中,从而以编程方式在本地计算机上操纵该网页。这是如何运作的? 简而言之::当您查看网页时,从未真正从“ Web服务器”直接查看它-浏览器首先将网页的本地副本下载到浏览器的缓存文件夹中并显示给您从那里。因此,TamperMonkey可以在页面加载到浏览器中时对其进行拦截,并在页面显示之前对其进行修改。 该解释过于简单,在技术上也不完全准确,但从本质上讲,它是如何工作的,以及 TamperMonkey为什么起作用。 最重要的是:< / em> 以上几行内容说明了为什么页面没有对其他任何人(只为您)在您自己的计算机上更改。

TamperMonkey是学习一些javascript / css / html的绝佳理由。使用它,您可以执行诸如在网页上隐藏或重新排列图像,从页面上消除混乱,完全重新格式化页面等操作。例如,我最喜欢的新闻网站之一有很多混乱。因此,我进入了他们的RSS feed页面,该页面的行为就像是一篇不错的文章索引,但同时也有太多我不想看到的内容(主要是图像和窄列)。我写了一个简短的TM脚本来隐藏所有图像并重新设置页面格式,现在,我看到的是〜20,而不是第一页看到5到6篇文章摘要。

我见过的关于html / css / js的绝对最佳,最简洁的入门书籍在Lynda.com上。 (您可能已经可以通过本地图书馆卡访问,发现我确实很惊讶。)艾玛·桑德斯(Emma Saunders)编着一个名为D3.js Essential Training for Data Scientists的丛书。该课程始于,其中有两个简短的html / css / js教程(Recalling HTML Basics (4m)Understanding HTML5 (3m)),这些教程本身就值得大学授课。 为什么每个人都不能这样教?无论如何,这就是您所需要的-前两个(3分钟和4分钟)视频。现在,请调整网页。

(最后的免责声明:不,我也不知道Emma Saunders,也与Binoc或Saunders的产品没有任何关系。我只是个疯子工厂用户和粉丝。)