????ウルトラお得情報

もうdota2追ってないのでそろそろブログタイトル変えるべきかもしれません

dota2 steamWebAPIをつかおう リーグの試合取得編

さいきん

  • TI5メインイベント
    • トーナメント落ちチームがそろそろ半分 はやいもんです

steamWebAPI

http://kimoto.hatenablog.com/entry/2012/07/19/153539
http://dev.dota2.com/showthread.php?t=47115
ここらへんを参考にしてwebAPIキーを取得したりするとwebAPIが使えます、ここらへんを使うことでリーグの情報を自動的に得よう

自分用のメモ

おもにマッチ履歴について情報を得ることが出来ます

http://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v1?match_id=<マッチID>&key=<キー>

  • それぞれのプレイヤーのアイテム、スキル、ヒーロー、アカウントID、KDA、いろいろとか
  • 試合のpick/banとか、チーム名、時間とか

matchID 1673659546 なら
http://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/v1?match_id=1673659546&key=A7ECA29C017C44E0E6328A4775F768BA
みたいな

あるリーグについての試合一覧

http://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/v1?key=A7ECA29C017C44E0E6328A4775F768BA&league_id=<リーグID>&matches_requested=<取得したい試合数>

  • マッチIDやら時間やらヒーローについてとれます

TI5(リーグID 2733なら
http://api.steampowered.com/IDOTA2Match_570/GetMatchHistory/v1?key=A7ECA29C017C44E0E6328A4775F768BA&league_id=2733&matches_requested=300

とりあえずpythonできてきとうに

あるリーグIDについてマッチIDの一覧を得る

  • これの出力をあとでがんばったらアイテム一覧やらスキルビルドをすごい勢いで出し放題になります やったね そのうちやります

import json, urllib.request

CONST_APIKEY="A7ECA29C017C44E0E6328A4775F768BA"
##################################################
def get_url(id,KEY):
func_url="https://api.steampowered.com/IDOTA2Match_570/GetMatchDetails/V001/?match_id=" + id + "&key=" + KEY
return func_url

def get_matchlist(filename):
f=open(filename, "r")
lines = f.readlines()

print(filename)
return lines

def outputMatchDetail(root):
result=root['result']
players = result['players']

for player in players:
print (player['hero_id'])
##################################################

matchid_list=get_matchlist("matchlist.txt")
for matchid in matchid_list:
url = get_url(matchid.strip(),CONST_APIKEY)
print("test ;",url)

url_reader=urllib.request.urlopen(url)
root = json.loads(url_reader.read().decode('utf-8'))

##################################
outputMatchDetail(root)
url_reader.close

###################################

いまはここまで
リーグ一覧
http://api.steampowered.com/IDOTA2Match_570/GetLeagueListing/v1?key=A7ECA29C017C44E0E6328A4775F768BA