我正在使用口袋妖怪 API:https ://pokeapi.co/api/v2/pokemon/ 我正在嘗試創建一個可以存盤 6 個口袋妖怪 ID 的串列,然后使用 for 回圈呼叫 API 并檢索資料每個口袋妖怪。最后,我想將此資訊保存在 txt 檔案中。這是我到目前為止所擁有的:
import random
import requests
from pprint import pprint
pokemon_number = []
for i in range (0,6):
pokemon_number.append(random.randint(1,10))
url = 'https://pokeapi.co/api/v2/pokemon/{}/'.format(pokemon_number)
response = requests.get(url)
pokemon = response.json()
pprint(pokemon)
with open('pokemon.txt', 'w') as pok:
pok.write(pokemon_number)
我不明白如何讓 API 從串列中讀取 ID。
我希望這很清楚,我正處于正確的泡菜中。
謝謝
uj5u.com熱心網友回復:
您正在傳遞pokemon_number給 url 變數,這是一個串列。您需要迭代串列。
此外,要實際保存口袋妖怪,您可以使用名稱或它的 ID 作為檔案名。JSON 庫允許將物件輕松保存到 JSON 檔案中。
import random
import requests
import json
# renamed this one to indicate it's not a single number
pokemon_numbers = []
for i in range (0,6):
pokemon_numbers.append(random.randint(1,10))
# looping over the generated IDs
for id in pokemon_numbers:
url = f"https://pokeapi.co/api/v2/pokemon/{id}/"
# if you use response, you overshadow response from the requests library
resp = requests.get(url)
pokemon = resp.json()
print(pokemon['name'])
with open(f"{pokemon['name']}.json", "w") as outfile:
json.dump(pokemon, outfile, indent=4)
uj5u.com熱心網友回復:
我現在有這個:
import requests
pokemon_number = []
for i in range (0,6):
pokemon_number.append(random.randint(1,50))
x = 0
while x <len(pokemon_number):
print(pokemon_number[x])
x = x 1
url = 'https://pokeapi.co/api/v2/pokemon/{}/'.format(pokemon_number[])
response = requests.get(url)
pokemon = response.json()
print(pokemon)
print(pokemon['name'])
print(pokemon['height'])
print(pokemon['weight'])
with open('pokemon.txt', 'w') as p:
p.write(pokemon['name'])
p.write(pokemon['ability'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/492617.html
下一篇:如何獲得下一個陣列序列?
