运行后获取KeyErrorjson.loads文件

2024-09-28 13:29:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将循环中的ID值从0更改为100,然后下载这些图片,但是在循环中,它报告了一个错误,并且找不到字典值。你知道吗

#!/usr/bin/env python3
import requests
import json
import os
import urllib

if not os.path.exists('images'):
    os.mkdir('images')


def huluxia(id=250):
    _key = '**'
    hlx = requests.get(url='**',
                       params={'_key': _key,
                               'user_id': id})
    hlx.encoding = 'utf-8'
    hlx_json = json.loads(hlx.content)
    print(hlx_json['avatar'])
    urllib.request.urlretrieve(hlx_json['avatar'], './images/%s%s.jpg' %
                               (hlx_json['nick'], hlx_json['userID']))

for i in range(100):
    huluxia(id=i)

错误:

enter image description here


Tags: keyimportidjsonos报告错误图片
1条回答
网友
1楼 · 发布于 2024-09-28 13:29:01

字典中似乎不存在avatar键。您可以使用hlx_json.get('avatar')来避免此异常(它将返回None type作为默认值,您可以传递另一个默认值作为第二个参数来获取)

另一种可能性是,您使用的API限制了特定时间段内的调用数,第100次调用被拒绝。您可以从ID100开始测试,或者在JSON反序列化之前打印响应

相关问题 更多 >

    热门问题