从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 SimpleFramework和工厂方法   Java适当地处理异常   java单例类不起作用   java小程序和Swing在eclipse中不显示组件   多个键上的java Redisson FastRemove不起作用   java验证请求正文不等于模式   在Java中从URL读取数据   eche RecyclerView项的java Set自定义字体   string Java如何从Date获取HH:mm:ss   当Java应用程序落后于负载均衡器时,在某些URL上强制使用SSL   使用esapi时发生java错误   java使用流根据第二个列表中的值更新一个列表中的对象   组织。openqa。硒。Java中的NoTouchElementException WebDriver?   从JSON字符串Java创建CSV文件