问题标签 [duckduckgo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6794 浏览

python-3.x - 如何在 Python 中从 DuckDuckGo 的图像搜索结果中抓取图像

我正在使用 python 创建一个应用程序,它将显示从 DuckDuckGo 的图像搜索结果中抓取的图像。因此,我需要根据搜索获取指向图像的链接列表。问题是构成 DuckDuckGo 的图像搜索结果的 HTML 不包含任何图像标签,而是图像似乎存储在部门标签中。我怎样才能在 python 的帮助下抓取那些该死的图像链接并将它们存储在我程序的变量中?

我希望我的变量看起来像什么:

DuckDuckGo 在其图像搜索结果中的 HTML 结构的可视化

编辑:

当我通过这样做从 URL 中抓取 HTML 时:

它根本不返回任何图像标签。

我正在通过这样做来检查:

输出:

这是什么原因,我该如何解决?

0 投票
1 回答
230 浏览

javascript - 在自己的网站上制作 DuckDuckHack 即时回答

我正在尝试查看是否可以在DuckDuckGo主网站的上下文之外使用来自DuckDuckHack Instant Answers 的代码。毕竟,Instant Answer 主要是一个独立的组件,由一些 HTML、CSS 和 Javascript 组成,应该是相对独立且可重用的。

由于 DuckDuckHack 项目处于维护模式,获取信息似乎有点困难:开发者指南中提到的 Slack 和 Forum已被禁用。我试图找出其他人是否试图让 Instant Answers 在其他情况下工作,但我找不到任何东西。有关于编写即时答案的教程,例如使用Perl 和 DuckPAN 工具的教程。我试图让现有的即时答案使用这些工具来工作,但我未能让它正常工作(不确定它们是否仍在维护)。

由于这些工具似乎有点重量级,我认为可以完全绕过它们并尝试直接使用 Instant Answer 中的 HTML、CSS 和 JS。

我已经给了计算器第一枪。我在duckduckgo/zeroclickinfo-goodies存储库的目录share/ goodie/calculator中确定了相关的源代码。HTML 似乎在content.handlebars,然后是calculator.csscalculator.js。我创建了一个纯 HTML 文件,将 HTML 从content.handlebars那里放入并包含对 CSS 文件和 JS 文件的引用。起初,CSS 不起作用,因为如果不添加更多包装器 div,CSS 规则将不适用,当检查 DuckDuckGo 站点时可以很容易地找到这些包装器 div,并且计算器 Instant Answer 可见。添加这些包装器 div 后,计算器 UI看起来或多或少完好无损. 但是,UI 的按钮根本不起作用。

查看 Javascript 控制台,我收到此错误:

显然calculator.jsDDH需要一个对象,但是我不知道该对象应该是什么以及如何创建它。

有谁知道这个DDH变量通常是如何初始化的,或者更一般地说是如何使它工作的?任何对从 DuckDuckHack 为自己的站点重用代码的项目的引用也将受到高度赞赏。

0 投票
2 回答
78 浏览

python - 字典中的某些字段未写入 csv 文件

我已经从duckduckgo.com 抓取了结果并将结果存储在标题、链接、描述链接和描述被打印但标题没有被打印

我已经用 print(title) 打印了标题,它给出了输出

它没有给出任何错误

0 投票
0 回答
120 浏览

javascript - 在使用它们进行导航的网站上禁用左右箭头 (duckDuckGo)

Duckduckgo.com 具有键盘导航功能,可让您点击左右箭头从网络搜索结果、图片搜索结果、新闻和地图。一切都很好,除非我使用我的 wacom 数位板浏览。如果我使用平板电脑滚动并且我不小心向左或向右滚动了一点,它会发送左右箭头按键,这意味着搜索结果正在所有模式之间交换。它使 DDG 有点无法与平板电脑一起使用。

我编写了一个 tampermonkey 脚本来禁用 keydown 事件,但是虽然它禁用了搜索框文本输入中的左右箭头,但它并没有阻止可怕的左右导航。

0 投票
1 回答
195 浏览

ruby - duckduckgo.com 获取指定短语的前 N ​​个结果,使用 Net::HTTP ruby

我正在尝试使用 Net::HTTP 解析 duckduckgo 搜索的结果并存储数组结果的链接。然而,结果是一个字符串。知道如何将任何其他类型的数据作为结果返回,或者如果没有选项以其他类型获取响应,如何从字符串中获取链接?

0 投票
2 回答
2169 浏览

javascript - 为跟踪器“https://duckduckgo.com”自动授予存储访问权限

我希望我没有错过某个地方的东西,但我无法理解我正在做的事情到底发生了什么。

我正在编写一个 web 应用程序,在我的应用程序中,我以编程方式打开一个新页面来搜索 duckduckgo 中的内容。我正在使用以下代码window.open("https://duckduckgo.com/?q=something"),这对我有好处。

这一切都很好,但我注意到当这段代码被执行时,在我的控制台中,会记录以下内容:

在“ http://localhost:8000 ”上自动授予跟踪器“ https://duckduckgo.com ”的存储访问权限。

我想知道这意味着什么。
我知道这可能与duckduckgo本身无关,也许只是它们足够好,可以实际记录一些东西并保持透明。

使用时与外部网站准确共享哪些信息window.open?“授予对跟踪器的访问权限”是什么意思?我的控制台中的这个日志来自哪里?外部站点实际上可以在我的当前页面中执行一些 javascript 代码吗?这对我来说似乎很奇怪,而且听起来对隐私来说是灾难性的。

0 投票
1 回答
92 浏览

perl - duckduckgo spice IA 二级 API 调用如何获取它们的参数?

我一直在看香料即时答案源代码。是的,我知道它处于维护模式,但我仍然很好奇。

文档清楚地表明,主要spice toAPI 从函数中获取其数字参数$1,$2handle

spice alt_to我的问题:在电影香料 IA中是否应该包含辅助 API 调用,API 调用的数字参数来自哪里?

请注意,例如,$1在前面的链接中调用movie_image和辅助 API 中的 。我在问哪个正则表达式捕获返回.cast_imagespice alt_to$1

0 投票
1 回答
437 浏览

python - 如何使用 Python 在 Google 或 DuckDuckGo 中快速获得答案

我有一个 AI 助手项目,我希望它在互联网上搜索。我想使用适用于 Python 的 Google Quick Answer Box 或 DuckDuckGo Instant Answer API。我看到了其他问题,但它们对我帮助不大。这是我想要实现的示例:

问:什么是长颈鹿?

谷歌的回答:

在此处输入图像描述

DuckDuckGo 的回答:

在此处输入图像描述

如您所见,答案开头是,

“长颈鹿是一种非洲偶蹄类哺乳动物……”

如何使用Python获取此文本?(让我说'什么是长颈鹿'就是一个例子。我想使用这种方法几乎所有的东西,比如'告诉我美国总统'等)

0 投票
3 回答
364 浏览

python - 如何使用 Selenium 和 Python 处理 try 循环中的错误

我想使用 selenium 进行搜索,然后在 DDG 搜索结束时单击“更多结果”按钮。

DDG 搜索在显示查询的所有结果时不再显示该按钮。

在没有按钮的情况下,我想退出 try 循环。

我将分享我现在正在尝试的内容。我之前也尝试过这两个选项:If len(button_element) > 0: button_element.click()并且我尝试过If button_element is not None: button_element.click().

我想要使​​用 Selenium 的解决方案,以便它显示浏览器,因为它有助于调试

这是我的代码,带有可重现的示例:

0 投票
1 回答
272 浏览

python - 使用 DDG 获取响应 200 而不是 <418 I'm a Teapot>

前几天我试图从 DDG 抓取搜索结果,但我不断收到响应 418。我怎样才能让它响应 200 或从中获取结果?这是我的代码。