首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从无舔的公共api中提取游戏

从无舔的公共api中提取游戏
EN

Stack Overflow用户
提问于 2022-05-24 21:55:19
回答 2查看 219关注 0票数 0

我试图下载并分析我在lichess.org上为一个项目玩的象棋游戏,根据他们的公共api,他们声明响应应该以ndjson格式返回,但是使用响应体上的.json()方法会产生一个JSONDecode错误

我希望能够为每一个游戏提取游戏数据,到目前为止,我已经达到了这样的目的:

代码语言:javascript
复制
params = {
"perfType": "blitz,rapid,classical"
}
response = requests.get('https://lichess.org/api/games/user/RAMEZESSAM1', params=params)

当迭代内容时:

代码语言:javascript
复制
for item in response.iter_lines():
   print(item.decode())

输出如下所示:

只是我所有游戏的解码响应字节文本

如果能一个一个地提取游戏并将其存储为json对象,我们将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2022-05-25 11:43:25

就像设置perfType查询参数一样,也可以将pgnInJson参数设置为true。这个默认为false,这就是为什么您只返回pgn格式的响应。

https://lichess.org/api#operation/apiGamesUser

试试看!

票数 1
EN

Stack Overflow用户

发布于 2022-09-04 03:53:32

要获得json格式的数据,需要在请求(如何将返回数据的请求指定为JSON?)中指定头部如何将返回数据的请求指定为JSON?

代码语言:javascript
复制
response = requests.get('https://lichess.org/api/games/user/RAMEZESSAM1', params=params, headers={"Accept": "application/x-ndjson"})

响应中的每一行都是一个json对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72369892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档