Duckduckgo API获取搜索结果

Duckduckgo API获取搜索结果,api,duckduckgo-api,Api,Duckduckgo Api,我想做的只是提交字符串查询(相当于手动输入搜索栏)并保存第一个结果的URL(如果有) 我问了一个类似的问题(),这个问题的答案在google上运行得很好。我的问题是,我在任何地方都找不到Duckduckgo的搜索api地址。你能帮助我或建议她这样做吗?只要改变你想搜索的内容即可。这将以JSON格式输出结果 https://api.duckduckgo.com/?q=<your search string>&format=json&pretty=1&no_htm

我想做的只是提交字符串查询(相当于手动输入搜索栏)并保存第一个结果的URL(如果有)


我问了一个类似的问题(),这个问题的答案在google上运行得很好。我的问题是,我在任何地方都找不到Duckduckgo的搜索api地址。你能帮助我或建议她这样做吗?

只要改变你想搜索的内容即可。这将以JSON格式输出结果

https://api.duckduckgo.com/?q=<your search string>&format=json&pretty=1&no_html=1&skip_disambig=1
https://api.duckduckgo.com/?q=&format=json&pretty=1&no_html=1&skip_disambig=1
我想这就是你想要的

www.api.duckduckgo.com/?q=
Search
&format=json&pretty=1

例如:

响应是一个JSON对象,您可以找到第一个链接的地址:

response.Results[0].FirstURL
您可以通过将响应放入

希望有帮助:)

tl;dr——屏幕刮伤

正如其他回答者所提到的,DuckDuckGo的有限搜索API的URL是

http://api.duckduckgo.com/?q=x&format=json
x
是您正在寻找的搜索词

但是,请注意,这不是一个完整的搜索API。如前所述

但是,此API不包括我们的所有链接。也就是说,它不是一个完整的搜索结果API,也不是一种将DuckDuckGo结果输入应用程序的方法,而不仅仅是我们的即时答案。由于这种方式,我们不幸没有权利完全联合我们的结果。出于同样的原因,我们不能允许在没有品牌的情况下构建我们的结果。有关指南的更多信息,请参阅,并与我们联系

这是一个即时回答API,而不是完整的结果API。但是,其中有一些Web链接,例如官方网站

那么为了你所说的

只需提交字符串查询(相当于手动输入搜索栏)并保存第一个结果的URL(如果有)

api.duckduckgo.com无法满足您的需求

您最好的选择可能是在屏幕上刮取DuckDuckGo的非JS web版本:

https://duckduckgo.com/html/?q=x

使用类似于
div.result
div.web-result

的选择器查找元素这似乎是的重复。可能重复感谢,所以最后三行在链接问题的答案中进行了阐述?@Nesa yes!特别是如果你对用python做屏幕抓取感兴趣的话。谢谢你有经验的提示。想解释一下使用JSON参数的好处吗?JSON参数只是告诉API以JSON格式返回结果。我认为唯一的其他选择是
format=xml
。它可能会给你一个JSON响应而没有明确要求,但如果是这样的话,它是一个没有文档记录的特性,可能会在没有通知的情况下进行更改,这将非常类似于implement—它不再工作,或者它没有给出许多查询的结果,我可以确认这一点。@VivekSancheti您能告诉我您尝试搜索的内容吗?我尝试的所有内容都是以JSON格式返回结果