Python读取JSON出现_default_decoder.decode(s)错误,FPL API请求求助
问题分析与解决
错误原因
你的代码里URL写法存在问题:'https://fantasy.premierleague.com/api/entry/{151515}/' 中的{151515}属于无效的URL格式,服务器无法识别该地址,返回的内容不是合法JSON数据,因此调用r.json()时会触发解码错误。
修复方案
- 若直接写死用户ID,去掉多余的大括号即可:
import requests url = 'https://fantasy.premierleague.com/api/entry/151515/' r = requests.get(url) # 先检查请求状态码,确认请求是否成功 print(r.status_code) if r.status_code == 200: print(r.json()) else: print(f"请求失败,状态码:{r.status_code}") - 若需要动态替换用户ID,使用Python的f-string进行格式化:
import requests user_id = 151515 url = f'https://fantasy.premierleague.com/api/entry/{user_id}/' r = requests.get(url) print(r.status_code) if r.status_code == 200: print(r.json())
额外提示
调用API前先打印r.status_code,如果返回200说明请求成功;若返回其他状态码(比如404),则说明地址有误或目标资源不存在,能帮你快速定位问题。
内容的提问来源于stack exchange,提问作者ILE2091
相关产品推荐
相关产品推荐

