extract data
This commit is contained in:
@@ -3,6 +3,7 @@ import os
|
||||
import logging
|
||||
import copy
|
||||
import requests
|
||||
import time
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
@@ -143,8 +144,50 @@ class ArkHelperBackend:
|
||||
except Exception as ex:
|
||||
self.logger.error(f'签到失败,原因:{str(ex)}')
|
||||
|
||||
def update_gacha_data(self):
|
||||
for phone in self.user_data_dict:
|
||||
gacha_history_data = self.user_data_dict[phone]['gacha']
|
||||
if not gacha_history_data:
|
||||
gacha_history_data = {}
|
||||
token = self.user_data_dict[phone]['token']
|
||||
newly_extracted_data = {}
|
||||
for i in range(1, 11):
|
||||
get_gacha_url = f'https://ak.hypergryph.com/user/api/inquiry/gacha?page={i}&token={token}&channelId=1'
|
||||
temp_data = requests.get(get_gacha_url).json().get('data')
|
||||
if not temp_data.get('list'):
|
||||
break
|
||||
for item in temp_data['list']:
|
||||
pull_id, banner = str(item['ts']), item['pool']
|
||||
new_data = [[i['name'], i['rarity'], 1 if i['isNew'] else 0] for i in item['chars']]
|
||||
newly_extracted_data[pull_id] = {'c': new_data, 'p': banner}
|
||||
sort_data_list = sorted(newly_extracted_data.items(), key=lambda x: x[0])
|
||||
sorted_data = {item[0]: item[1] for item in sort_data_list}
|
||||
gacha_history_data.update(sorted_data)
|
||||
self.user_data_dict[phone]['gacha'] = gacha_history_data
|
||||
self.logger.info(f'{phone} gacha data updated')
|
||||
self.save_data(token_status=False, payment_status=False)
|
||||
|
||||
def update_payment_data(self):
|
||||
url = 'https://as.hypergryph.com/u8/pay/v1/recent'
|
||||
for phone in self.user_data_dict:
|
||||
payment_data = self.user_data_dict[phone]['payment']
|
||||
if not payment_data:
|
||||
payment_data = {}
|
||||
token = self.user_data_dict[phone]['token']
|
||||
data = {"appId": 1, "channelMasterId": 1, "channelToken": {"token": token}}
|
||||
pay_data = json.loads(requests.post(url, json.dumps(data)).text).get('data')
|
||||
for item in pay_data:
|
||||
i = pay_data.index(item)
|
||||
pay_time = item['payTime']
|
||||
pay_data[i]['payTime'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(pay_time))
|
||||
|
||||
pay_dict = {item['orderId']: item for item in pay_data}
|
||||
payment_data.update(pay_dict)
|
||||
self.user_data_dict[phone]['payment'] = payment_data
|
||||
self.save_data(token_status=False, gacha_status=False)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ak_back = ArkHelperBackend()
|
||||
ak_back.skland_sign()
|
||||
ak_back.update_payment_data()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user