extract data
This commit is contained in:
@@ -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()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user