jm_p_op

Eternal Return 게임데이터 python으로 받기_3(ver.API받기,txt와 json데이터 읽고 쓰기) 본문

py/Eternal Return 분석

Eternal Return 게임데이터 python으로 받기_3(ver.API받기,txt와 json데이터 읽고 쓰기)

jm_p_op 2023. 9. 10. 22:33
  1. .API받기
  2. 데이터 저장하기(json파일)
  3. json 데이터 읽기
  4. 필요한 데이터 부분만 읽기(txt)

1,2 -  https://github.com/jmpop97/ER_statistics/blob/main/ER0_request_datas.py

  • api가 초당 1개임으로 sleep 넣기
  • api중 최대한 정보를 많이 땡겨올수있는것 선택
while(True):

    #api요청
    requestDataWithHeader = requests.get(
        f'https://open-api.bser.io/v1/games/{game_id}', headers=headerDict)
    responce_datas = requestDataWithHeader.json()
    
    #api저장
    with open(f"datas/{game_id}.json",'w',encoding='utf-8') as outfile:
        json.dump(responce_datas,outfile, indent="\t",ensure_ascii=False)

    #갯수 제한
    if game_id==end_game_id:
        break
    time.sleep(1)
    start_game_id+=1

 

    with open(f"datas/{datas_num}.json", "r", encoding='utf-8') as f:
        game_datas = json.load(f)

4.https://github.com/jmpop97/ER_statistics/blob/main/read_txt.py

def LoadCharacter():
    i=1
    strings=[]
    character_name={}
    with open("test2.txt", "r", encoding='utf-8') as f:
        while i<71:
            string=f.readline()
            string=string.replace('┃','\n').replace('/','\n')
            string=string.split('\n')
            character_name[string[2]]=string[3]
            strings+=[string]
            i+=1
    return character_name
character_name=LoadCharacter()