首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DuckDuckGo搜索返回“超出范围的列表索引”

DuckDuckGo搜索返回“超出范围的列表索引”
EN

Stack Overflow用户
提问于 2013-08-10 09:17:17
回答 1查看 1.6K关注 0票数 5

这是我的鸭子围棋搜索脚本。

代码语言:javascript
复制
import duckduckgo
r = duckduckgo.query('DuckDuckGo')
print r.results[0].url

它返回;列出超出范围的索引。如果我打印r.results,我得到;

代码语言:javascript
复制
[<duckduckgo.Result object at 0x0000000002E98F60>]

但如果我找的不是“DuckDuckGo”。它返回一个空值。

代码语言:javascript
复制
[]

在示例代码中,我准确地了解了他们所做的事情。https://github.com/mikejs/python-duckduckgo

EN

回答 1

Stack Overflow用户

发布于 2013-08-10 10:12:13

那是记录在案的行为。有不同的结果属性。

第一个查询返回结果列表。

代码语言:javascript
复制
r = duckduckgo.query('DuckDuckGo')
if r.type == 'answer':
    print r.results    # [<duckduckgo.Result object>]

其他搜索返回消歧,结果在r.related中,而不是在r.results中。

代码语言:javascript
复制
r = duckduckgo.query('Python')
if r.type == 'disambiguation':
    print r.related    # [<duckduckgo.Result object>]

编辑:python使用没有为您提供所有搜索结果链接的DuckDuckGo API

我们的即时答案API允许您免费访问我们的许多即时答案,如:主题摘要(API示例)、类别(API示例)、消歧(API示例)、!bang重定向(API示例)和定义(API示例)。 然而,这个API并不包括我们所有的链接。也就是说,它不是一个完整的搜索结果API,也不是一种在我们的即时答案之外将DuckDuckGo结果导入应用程序的方法。由于我们生成搜索结果的方式,不幸的是,我们没有权利完全联合我们的结果。出于同样的原因,我们不能让我们的结果没有我们的品牌。请参阅我们的伙伴关系页面,以获得更多关于指导方针和与我们联系的信息。

您不能使用DuckDuckGo API来做您想做的事情,但是已经在Stackoverflow:https://stackoverflow.com/a/11923803/241866上发布了一个可能的解决方案

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18160464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档