Duckduckgo API获取搜索结果

Nes*_*esa 18 api duckduckgo-api

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

我问了一个类似的问题(Python搜索抓取),它的答案适用于谷歌我的问题是我无法在任何地方找到Duckduckgo的搜索API地址.你能帮助我或建议其他方式吗?

eth*_*tad 41

tl; dr - Screen scrape https://duckduckgo.com/html/?q= {search_terms}

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

http://api.duckduckgo.com/?q=x&format=json
Run Code Online (Sandbox Code Playgroud)

x 是您正在寻找的搜索词.

请注意,这不是完整的搜索API.正如DuckDuckGo的API页面所提到的,

但是,此API不包括我们的所有链接.也就是说,它不是一个完整的搜索结果API,也不是将DuckDuckGo结果提供给您的应用程序的方法,超出了我们的即时答案.由于我们生成搜索结果的方式,遗憾的是我们没有权利完全联合我们的搜索结果.出于同样的原因,我们不能在没有品牌的情况下制定我们的结果.请参阅我们的合作伙伴页面,了解有关指南的更多信息并与我们联系.

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

所以为了你的既定目的

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

api.duckduckgo.com不会得到你想要的.

你最好的选择可能只是屏幕刮掉非JS,网页版的DuckDuckGo:

https://duckduckgo.com/html/?q=x
Run Code Online (Sandbox Code Playgroud)

寻找带有选择器的元素,如div.resultdiv.web-result.