从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第三方库


热门话题
java用arraylist中的单词替换txt文件中的单词?   java为ProgressBar提供了一个解决方案。是否接受整数?   java添加鼠标侦听器以删除目标   java删除标点符号的简单程序   java JavaScriptException:(TypeError):无法调用null的方法“getBoundingClientRect”   java我可以在没有对话框的情况下卸载应用程序吗?   执行泛型Java类   如果主线程从不调用线程,那么线程中断的原因是什么。中断()?   导致其他组件不显示的java绘制方法   java ObjectMapper追加文件JSON   Netbeans Java:将我的CSV文件放在哪里?   bouncycastle RSAKeyParameters中的java公钥   java为什么我总是在这个字符串数组中输入a1字符串?   java使用匿名绑定连接到AD并搜索用户DN   从JSP文件向Java应用程序发送socket?