问题标签 [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.
python-3.x - 如何在 Python 中从 DuckDuckGo 的图像搜索结果中抓取图像
我正在使用 python 创建一个应用程序,它将显示从 DuckDuckGo 的图像搜索结果中抓取的图像。因此,我需要根据搜索获取指向图像的链接列表。问题是构成 DuckDuckGo 的图像搜索结果的 HTML 不包含任何图像标签,而是图像似乎存储在部门标签中。我怎样才能在 python 的帮助下抓取那些该死的图像链接并将它们存储在我程序的变量中?
我希望我的变量看起来像什么:
DuckDuckGo 在其图像搜索结果中的 HTML 结构的可视化
编辑:
当我通过这样做从 URL 中抓取 HTML 时:
它根本不返回任何图像标签。
我正在通过这样做来检查:
输出:
这是什么原因,我该如何解决?
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.css
和calculator.js
。我创建了一个纯 HTML 文件,将 HTML 从content.handlebars
那里放入并包含对 CSS 文件和 JS 文件的引用。起初,CSS 不起作用,因为如果不添加更多包装器 div,CSS 规则将不适用,当检查 DuckDuckGo 站点时可以很容易地找到这些包装器 div,并且计算器 Instant Answer 可见。添加这些包装器 div 后,计算器 UI看起来或多或少完好无损. 但是,UI 的按钮根本不起作用。
查看 Javascript 控制台,我收到此错误:
显然calculator.jsDDH
需要一个对象,但是我不知道该对象应该是什么以及如何创建它。
有谁知道这个DDH
变量通常是如何初始化的,或者更一般地说是如何使它工作的?任何对从 DuckDuckHack 为自己的站点重用代码的项目的引用也将受到高度赞赏。
python - 字典中的某些字段未写入 csv 文件
我已经从duckduckgo.com 抓取了结果并将结果存储在标题、链接、描述链接和描述被打印但标题没有被打印
我已经用 print(title) 打印了标题,它给出了输出
它没有给出任何错误
javascript - 在使用它们进行导航的网站上禁用左右箭头 (duckDuckGo)
Duckduckgo.com 具有键盘导航功能,可让您点击左右箭头从网络搜索结果、图片搜索结果、新闻和地图。一切都很好,除非我使用我的 wacom 数位板浏览。如果我使用平板电脑滚动并且我不小心向左或向右滚动了一点,它会发送左右箭头按键,这意味着搜索结果正在所有模式之间交换。它使 DDG 有点无法与平板电脑一起使用。
我编写了一个 tampermonkey 脚本来禁用 keydown 事件,但是虽然它禁用了搜索框文本输入中的左右箭头,但它并没有阻止可怕的左右导航。
ruby - duckduckgo.com 获取指定短语的前 N 个结果,使用 Net::HTTP ruby
我正在尝试使用 Net::HTTP 解析 duckduckgo 搜索的结果并存储数组结果的链接。然而,结果是一个字符串。知道如何将任何其他类型的数据作为结果返回,或者如果没有选项以其他类型获取响应,如何从字符串中获取链接?
javascript - 为跟踪器“https://duckduckgo.com”自动授予存储访问权限
我希望我没有错过某个地方的东西,但我无法理解我正在做的事情到底发生了什么。
我正在编写一个 web 应用程序,在我的应用程序中,我以编程方式打开一个新页面来搜索 duckduckgo 中的内容。我正在使用以下代码window.open("https://duckduckgo.com/?q=something")
,这对我有好处。
这一切都很好,但我注意到当这段代码被执行时,在我的控制台中,会记录以下内容:
在“ http://localhost:8000 ”上自动授予跟踪器“ https://duckduckgo.com ”的存储访问权限。
我想知道这意味着什么。
我知道这可能与duckduckgo本身无关,也许只是它们足够好,可以实际记录一些东西并保持透明。
使用时与外部网站准确共享哪些信息window.open
?“授予对跟踪器的访问权限”是什么意思?我的控制台中的这个日志来自哪里?外部站点实际上可以在我的当前页面中执行一些 javascript 代码吗?这对我来说似乎很奇怪,而且听起来对隐私来说是灾难性的。
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 的解决方案,以便它显示浏览器,因为它有助于调试
这是我的代码,带有可重现的示例:
python - 使用 DDG 获取响应 200 而不是 <418 I'm a Teapot>
前几天我试图从 DDG 抓取搜索结果,但我不断收到响应 418。我怎样才能让它响应 200 或从中获取结果?这是我的代码。