从Tanks PC API世界提取数据

wotapi的Python项目详细描述


pipeline statuspipeline statusMIT licensePyPI - Downloads

坦克世界-API(PC)

1。说明

此软件包将从坦克API的战争游戏世界中提取数据。
目前,这只适用于PC版本,其余平台将在未来的迭代中实现。在

该软件包将需要从官方World of Tanks Developer API页中获取以下内容。在

  • 应用程序id
  • 帐户id
  • 访问令牌

提取的所有数据将被写入本地sqlite数据库,以备访问。数据库将自动创建 在执行脚本的位置。
数据库的名称是world_of_tanks.db,类型为sqlite。在

2。安装

pip install WotAPI

3。用法

^{pr2}$
# Extract Account Data
wot.player_personal()
wot.player_vehicles()
wot.player_achievements()

# Extract Tankopedia Data
wot.tankopedia_vehicles(load_once=True)
wot.tankopedia_achievements(load_once=True)
wot.tankopedia_information(load_once=True)
wot.tankopedia_maps(load_once=True)
wot.tankopedia_badges(load_once=True)

# Extract Player Vehicles Data
wot.vehicle_achievements()
wot.vehicle_statistics()

来自API的Tankopedia部分的所有数据只需在数据库中加载一次,否则将被复制。 为了方便起见,参数load_once默认设置为True。在

{cd3>可以从cd3>中访问进一步的数据。响应是一个字典列表。在

achievements = wot.player_achivements(load_once=True)
print(achievements)

[{
'name': 'medalBobAmway921', 
'outdated': True, 
'section': 'action', 
'section_order': 6, 
'image_big': 'http://api.worldoftanks.eu/static/2.66.0/wot/encyclopedia/achievement/big/medalBobAmway921.png', 
'hero_info': None, 
'name_i18n': None, 
'order': 1443, 
'type': 'single', 
'image': 'http://api.worldoftanks.eu/static/2.66.0/wot/encyclopedia/achievement/medalBobAmway921.png', 
'condition': 'None', 
'description': None
} ... 
]

若要不在数据库中加载数据,请将load_to_db=False参数添加到WotAPI类参数中。 要指定要创建和填充的数据库的特定位置,请在主类中设置以下参数。在

from worldoftanks import WotAPI

wot = WotAPI(application_id='####',
             account_id='##########',
             token='#########',
             realm='eu',
             load_to_db=True,
             db_path=<path_where_the_database_will_be_saved>,
             logging_enabled=True/False,
             log_level="WARNING"                     
    )

4。留下来做

API PartNameDate CompletedVersion
AccountsPlayer Personal Data2020-04-240.0.1
AccountsPlayer Vehicles2020-04-240.0.1
AccountsPlayer Achievements2020-04-240.0.1
TankopediaVehicles2020-04-250.0.2
TankopediaAchievements2020-04-250.0.2
TankopediaTankopedia Information2020-04-250.0.2
TankopediaMaps2020-04-250.0.2
TankopediaBadges2020-04-280.4.22
TankopediaVehicle characteristics
TankopediaEnginesDeprecated
TankopediaTurretsDeprecated
TankopediaRadiosDeprecated
TankopediaSuspensionsDeprecated
TankopediaGunsDeprecated
TankopediaEquipment and Consumables
TankopediaPersonal Missions
TankopediaPersonal Reserves
TankopediaVehicle Configurations
TankopediaModules
TankopediaCrew Qualifications
TankopediaCrew Skills
VehiclesVehicle statistics2020-04-270.3.2
VehiclesVehicle achievements2020-04-270.3.2
ClansClans
ClansClan Details
ClansClan Member Details
ClansClan Glossary
ClansMessage Board
ClansPlayer Clan History
Clan ratingsTypes of Ratings
Clan ratingsDates with available r.
Clan ratingsClan Ratings
Clan ratingsAdj Positions In Clan R.
Clan ratingsTop Clans
Strongholds
Global Map

5。开发

单元测试

出于开发目的,可以通过以下方式执行单元测试:

python3 -m unittest discover -v worldoftanks/tests
覆盖测试
coverage run --source=worldoftanks -m unittest discover -s worldoftanks/tests
coverage report -m

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

推荐PyPI第三方库


热门话题
使用Shiro 1.3.2和JBoss EAP 7.1的组合,java会话立即过期   过滤器中的java Init方法调用   Java中的赋值运算符无效   java在MapReduce中可以在同一个键下输出多个值吗?   java为什么此代码的输出不正确?   每个玩家的击杀次数总是相同的。(布基特)   Java 6热点中的jvm Java 5运行时   java是否适合使用反射来迭代成员以进行测试?   java如何模拟节点。js请求。发送和请求。查询   jsp音频流错误| java。网SocketException:对等方重置连接:socket写入错误   Android Java从其他类访问MainActivity中的WebView   java隐形框架布局   java XMLStreamException:尝试输出第二个根StaXparser   java使用这个快捷方式会导致问题吗?   使用两个Y轴时java Graphview SetBackgroundColor问题   JVM在java dataflowsdk 1.9.1和hbase 1.0.0退出时挂起(但不适用于以前的hbase库)   java在Jboss Server中部署war文件时,如何在Jboss Server独立文件夹中创建映像目录?