用数据玩炉石!快速收集和分析炉石传说的卡牌及卡组数据。

hsdata的Python项目详细描述


用数据玩炉石

快速收集和分析炉石传说的卡牌及卡组数据

运行环境

hsdata 使用 Python 3 编写,引用了 requests 和 scrapy 两个模块,理论上可以在所有支持这两个模块的系统环境中运行。

如何安装

推荐使用 pip 安装

pip3 install -U hsdata

快速上手

importhsdata# 获取卡组数据decks=hsdata.HSBoxDecks()# 若未找到本地数据,会自动从网络获取print('从炉石盒子获取到',len(decks),'个卡组数据!')# 更新卡组数据# decks.update()# 搜索卡组found=decks.search(career='萨满',mode=hsdata.MODE_STANDARD,min_games=10000,win_rate_top_n=5)print('其中5个胜率最高的萨满卡组:')fordeckinfound:print('{}: {} 场, {:.2%} 胜'.format(deck.name,deck.games,deck.win_rate))# 查看卡组中的卡牌print('其中第一个卡组用了这些卡牌')print(found[0].cards)

运行结果类似这样

从炉石盒子获取到 1574 个卡组数据!

其中5个胜率最高的萨满卡组:
【黄金赛冠军】OmegaZero中速萨: 124830 场, 63.47% 胜
【欧服登顶】Janos 中速萨: 172444 场, 63.02% 胜
【EULC冠军】Pavel中速萨: 61187 场, 62.73% 胜
【欧服前50】Toymachine中速萨: 41754 场, 60.95% 胜
【外服登顶】Ownerism 中速萨: 152966 场, 60.94% 胜
其中第一个卡组用了这些卡牌
Counter({<Card: 坑道穴居人 (LOE_018)>: 2,
<Card: 大漩涡传送门 (KAR_073)>: 2,
<Card: 碧蓝幼龙 (EX1_284)>: 2,
<Card: 幽灵之爪 (KAR_063)>: 2,
<Card: 火元素 (CS2_042)>: 2,
<Card: 巴内斯 (KAR_114)>: 1,
<Card: 银色侍从 (EX1_008)>: 1,
<Card: 血法师萨尔诺斯 (EX1_012)>: 1,
<Card: 野性狼魂 (EX1_248)>: 2,
<Card: 法力之潮图腾 (EX1_575)>: 2,
<Card: 深渊魔物 (OG_028)>: 2,
<Card: 闪电箭 (EX1_238)>: 2,
<Card: 雷霆崖勇士 (AT_049)>: 2,
<Card: 火舌图腾 (EX1_565)>: 2,
<Card: 图腾魔像 (AT_052)>: 2,
<Card: 闪电风暴 (EX1_259)>: 1,
<Card: 妖术 (EX1_246)>: 2})

以上只是个帮助入门的例子,发挥想象力,用它来探索更多吧!

数据来源

目前 hsdata 采用了以下数据来源,这些数据的版权为各数据源所有。


许可协议: Apache License, Version 2.0

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

推荐PyPI第三方库


热门话题
java Maven build和mavenfailsafeplugin分叉的VM没有恰当地说再见就终止了   Java传递参数的设计模式最佳实践   安卓 Java枚举提供了不正确的值   java如何在不点击的情况下显示片段   使Java Pebble纸牌程序中的代码更有效   如何在Java中平面映射流?   java Java8“有效最终版”   java spring@valid不起作用   java mavenjaxb2plugin包含两个具有相同元素的xsd   java Android onActivityResult设置选定行   java SnakeYAML文档和项目主页在哪里(它还活着吗)?   Java和MongoDB中的spring ObjectId类型   用复杂类型包装的web服务数组在Java代码中展开(Axis 1.4)   java FTPClient在有文件时显示空文件夹