これは文書化された動作です。さまざまな結果属性があります。
最初のクエリは、結果のリストを返します。
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 は、すべての検索結果リンクを提供しないDuckDuckGo APIを使用します
インスタント アンサー API を使用すると、トピックの概要 (API の例)、カテゴリ (API の例)、曖昧さ回避 (API の例)、!bang リダイレクト (API の例)、定義 (API の例) など、多くのインスタント アンサーに無料でアクセスできます。
ただし、この API にはすべてのリンクが含まれているわけではありません。つまり、これは完全な検索結果 API ではなく、DuckDuckGo の結果をアプリケーションに取得する方法でもありません。検索結果の生成方法が原因で、残念ながら結果を完全にシンジケートする権利はありません。同じ理由で、ブランディングなしで結果をフレーミングすることはできません。ガイドラインの詳細と連絡先については、パートナーシップのページをご覧ください。
DuckDuckGo API を使用してやりたいことを行うことはできませんが、考えられる回避策が Stackoverflow に投稿されています: https://stackoverflow.com/a/11923803/241866