2017-02-05 4 views
0

Я продолжаю получатьПроблема с JSON DuckDuckGo апи

"json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)" 

при выполнении этого, я предполагаю то потому что право JSon, но ИДК, если тот из-за чего-то им делать, или если есть что-то дополнительное, я должен делать, чтобы получить JSON декодируются право

respon = requests.get("https://duckduckgo-duckduckgo-zero-click-info.p.mashape.com/?callback=process_duckduckgo&format=json&no_html=1&no_redirect=1&q={}&skip_disambig=1".format(query), 
headers = secrets.headers).json() 
result = respon['Results']['FirstURL'] 

затем изменяя выше

respon = requests.get("https://duckduckgo-duckduckgo-zero-click-info.p.mashape.com/?callback=process_duckduckgo&format=json&no_html=1&no_redirect=1&q={}&skip_disambig=1".format(query), 
    headers = headers) 
json_object = respon.json 
print(json_object) 

будет г ив меня

<bound method Response.json of <Response [200]> 

и, наконец,

json_object = respon.text 

дает мне это http://pastebin.com/wcJsM8jF

я не уверен, почему им не удалось получить JSON.

+0

попытка без 'обратного вызова = process_duckduckgo' - это должно дать вам чистый JSON без' process_duckduckgo (...) '(это называется JSONP) – furas

+0

BTW: это это не 'duckduckgo API', а скорее' mashup API'. 'duckduckgo API' находится здесь: https://duckduckgo.com/api – furas

ответ

0

Получил это, когда я переключился с mashape api на duckduckgo api. Ключ апи не принимаются по какой-то причине

import requests 

respon = requests.get('http://api.duckduckgo.com/?q={}&format=json'.format(query)) 
json_object = respon.json() 
result = json_object['Results'][0]['FirstURL'] 

return await pybot.say(result) 
Смежные вопросы