这是我的鸭子围棋搜索脚本。
import duckduckgo
r = duckduckgo.query('DuckDuckGo')
print r.results[0].url它返回;列出超出范围的索引。如果我打印r.results,我得到;
[<duckduckgo.Result object at 0x0000000002E98F60>]但如果我找的不是“DuckDuckGo”。它返回一个空值。
[]在示例代码中,我准确地了解了他们所做的事情。https://github.com/mikejs/python-duckduckgo
发布于 2013-08-10 10:12:13
那是记录在案的行为。有不同的结果属性。
第一个查询返回结果列表。
r = duckduckgo.query('DuckDuckGo')
if r.type == 'answer':
print r.results # [<duckduckgo.Result object>]其他搜索返回消歧,结果在r.related中,而不是在r.results中。
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上发布了一个可能的解决方案
https://stackoverflow.com/questions/18160464
复制相似问题