IndexError:列表索引超出范围- API



嗨,我正在生成基于Opensea API的随机data to csv文件。问题是我受到API列表大小的限制。有办法绕过这一点吗?

下面是我的代码:
r = requests.get('https://api.opensea.io/api/v1/assets?collection=bit birds&order_direction=asc&offset=' + (str(x)) + '&limit=1')
jsonResponse = r.json()

name = jsonResponse['assets'][0]['name']
description = jsonResponse['assets'][0]['description']

print('Name: ' + name)
print('Description: ' + str(description))

我得到这个错误:

Traceback (most recent call last): File
"d:generate-bitbirds-maingenerate-bitbirds-mainbird_databitbird_generation_script_w_csv4.py",
line 1855, in <module>
name = jsonResponse['assets'][0]['name'] IndexError: list index out of range

在使用api时,最好在访问响应之前先检查请求是否成功。您可以先调用r.r ese_for_status()并处理错误场景。然后在访问列表之前,首先检查列表是否为空。

r = requests.get(...)
try:
r.raise_for_status()  # Check if the request was successful
jsonResponse = r.json()  # Check if the response is in JSON format
except requests.HTTPError, JSONDecodeError:
# Handle error scenario
else:
if jsonResponse['assets']:  # Check first if there are assets returned
# Proceed as usual
name = jsonResponse['assets'][0]['name']
description = jsonResponse['assets'][0]['description']
else:  # This means that the assets are empty. Depending on your use case logic, handle it accordingly.
# Handle empty assets scenario

最新更新