pubg开发人员api的python包装器

pubg-python的Python项目详细描述


发布python

pubg开发人员api的python包装器

PUBG Developer API Official Documentation

安装

要安装包装器,只需使用pip

pip install pubg-python

pipenv

pipenv install pubg-python

用法

指定碎片

pubg api按平台和区域共享数据,因此需要在url中为大多数请求指定一个shard。

frompubg_pythonimportPUBG,Shardapi=PUBG('<api-key>',Shard.PC_NA)

可以找到碎片列表here和包装常量here

样品

匹配的样本可以作为起点进行检索

sample=api.samples().get()formatchinsample.matches:print(match.id)

样本也可以按创建日期进行过滤

sample=api.samples().filter(created_at_start='2018-01-01T00:00:00Z').get()formatchinsample.matches:print(match.id)

玩家

检索单个玩家

player=api.players().get('account.3654e255b77b409e87b10dcb086ab00d')formatchinplayer.matches:match_data=api.matches().get(match.id)

检索按名称筛选的玩家列表

players=api.players().filter(player_names=['Name1','Name2'])forplayerinplayers:player_id=player.id

检索按id

筛选的玩家列表
players=api.players().filter(player_ids=['account.3654e255b77b409e87b10dcb086ab00d'])forplayerinplayers:player_name=player.name

匹配

检索单个匹配项

match=api.matches().get('276f5bcb-a831-4e8c-a610-d2073692069e')

检索按id

筛选的匹配项列表

在api中仍然不可用

match_ids=['276f5bcb-a831-4e8c-a610-d2073692069e','fasf9082-21de-dkle-13ke-qlamd13nab3a',]matches=api.matches().filter(match_ids=match_ids)formatchinmatches:print(match)

遥测

处理匹配遥测数据

match=api.matches().get('276f5bcb-a831-4e8c-a610-d2073692069e')asset=match.assets[0]telemetry=api.telemetry(asset.url)print(len(telemetry.events))>>16871

过滤遥测对象中的特定事件

有时您对一组非常特定的事件感兴趣,因此有一个帮助函数来筛选这些事件:

match=api.matches().get('276f5bcb-a831-4e8c-a610-d2073692069e')asset=match.assets[0]telemetry=api.telemetry(asset.url)player_kill_events=telemetry.events_from_type('LogPlayerKill')player_position_events=telemetry.events_from_type('LogPlayerPosition')

加载本地遥测文件

如果要加载以前下载的遥测文件,有一个助手 方法从中创建遥测对象:

frompubg_pythonimportTelemetrytelemetry=Telemetry.from_json('telemetry.json',shard='pc')

shard默认为pc,但您需要指定是否要加载xbox遥测文件。

匹配

检索单个锦标赛

tournament=api.tournaments().get('na-ppc')

检索锦标赛列表

tournaments=api.tournaments()fortournamentintournaments:print(tournament)

玩弄数据

如何操作数据的示例: 域已全部指定here

players=api.players().filter(player_names=['epickitten'])player=players[0]player.matches>>[<Matchbd6aae34-be05-4094-981c-083285c7e861>,<Match276f5bcb-a831-4e8c-a610-d2073692069e>,..]match=api.matches().get(player.matches[0].id)match.game_mode>>'solo'match.duration>>1899match.rosters>>[<Rosterd542eaee-cd02-4f4e-ad7f-ed5ea71a17cf>,<Rostere9f0962a-ebd4-4d86-b134-95783b713800>,..]roster=match.rosters[0]roster.participants>>[<Participant7cc76d1b-a80e-4997-8eb8-d4b3c1ed4f44>]participant=roster.participans[0]participant.name>>'urdaddyYO'participant.damage_dealt>>291.08participant.kills>>2participant.ride_distance>>3204.53467participant.walk_distance>>2262.81714participant.time_survived>>1367participant.player_id>>account.edb9910f1e9c4f3b9addb87d9329b57cplayer=api.players().get(participant.player_id)player>>account.edb9910f1e9c4f3b9addb87d9329b57cplayer.matches>>[<Matchb3dcd7e8-2270-4fdd-8389-af77acf2d6c2>,<Match2ebb1a9c-ab5e-4264-971f-df77a00918a9>,..]

限值和偏移量

当前已从官方API中禁用

抵消5场比赛并限制10场

matches=api.matches().limit(10).offset(5)

排序

当前已从官方API中禁用

sort默认为升序,您可以使用ascending=False进行降序排序

matches=api.matches().limit(10).sort('createdAt')matches=api.matches().limit(10).sort('createdAt',ascending=False)

过滤

有些端点允许应用筛选器,例如,按名称筛选播放机:

players=api.players().filter(player_names=['Name1','Name2'])

或按ID筛选播放机:

players=api.players().filter(player_ids=['account.3654e255b77b409e87b10dcb086ab00d'])

分页

下一页使用next(),上一页使用prev()

matches=api.matches()next_matches=matches.next()previous_matches=matches.prev()

更改日志

CHANGELOG.md

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么参数。getType()。isInstance(HttpServletRequest.class)返回值为false,但use“==”为true   使用Java的文本文件中的简单列表   linux Java创建具有特定所有者(用户/组)的文件和目录   java我试图解析一个文本文件,以计数唯一字符串的数量,并打印一些关于这些字符串的信息   雅加达ee如何使用JavaEE6@Resource注释   java从数据库中获取所有值,并将其存储在字符串数组中   java需要ArrayList中的单个数组   java变量id可能未使用lombok初始化Spring引导控制器   JavaS3客户端。读取超过文件大小时的GetObject行为   java在另一个活动列表视图中显示JSONObject   java spring引导fat jar注册到带有奇怪端口的eureka   java如何与mongoDB建立Android Studio连接?   java LinkedIn OAuth2/oauth/v2/accessToken响应未返回“令牌类型”   java如何在jtree中只列出非隐藏和非系统文件   Mybatis批量将Java BigDecimal插入SQL Server decimal(18,2)无法正常工作   java Hibernate Criteria Builder:如何按可为空的实体属性进行筛选?   如果涉及方法内变量的范围,python与java是否不同?   java如何实现web服务客户端,该客户端通过基于NTLM身份验证的身份验证连接到外部web服务   java使Jackson在反序列化期间无法将double转换为int