我目前正在使用Python 3編寫的API工具,它查詢多個URL以獲取API數據,然後將結果寫入單個.JSON文件。我已經設法讓這個工作,但似乎腳本運行,但只有最後一個API請求被保存。Python 3 - 將多個API查詢寫入單個JSON文件
我想要的是每個請求都有自己的行。這是我迄今爲止查看以前的問題所做的,但它仍然只保存最後一次API請求。請你能提醒我做錯了什麼?道歉,這可能看起來很簡單,但我完全不熟悉Python。
最佳, Stig0501
import requests
import json
urls = ["https://api.chucknorris.io/jokes/random",
"http://api.icndb.com/jokes/random"]
final_data = []
headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'}
for url in URLs:
data = requests.get(url, headers=headers).json()
final_data.update(data)
with open ('output.json', 'w') as f:
for fd in final_data:
json.dump(fd, f)
f.write('\n')
如果每個'data'具有相同的密鑰,然後在'final_data'的條目將與每個請求所覆蓋。 –
將'final_data'改爲'list'。 –
將'final_data'改爲'list'。 –