extract data

This commit is contained in:
2024-07-18 20:30:20 +08:00
parent bb2ab536cd
commit 38ade33f70
+44 -1
View File
@@ -3,6 +3,7 @@ import os
import logging import logging
import copy import copy
import requests import requests
import time
from pathlib import Path from pathlib import Path
@@ -143,8 +144,50 @@ class ArkHelperBackend:
except Exception as ex: except Exception as ex:
self.logger.error(f'签到失败,原因:{str(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__': if __name__ == '__main__':
ak_back = ArkHelperBackend() ak_back = ArkHelperBackend()
ak_back.skland_sign() ak_back.update_payment_data()