Add files via upload

This commit is contained in:
3288588344
2024-06-17 13:46:07 +08:00
committed by GitHub
parent 912a952532
commit 13c3574732
2 changed files with 149 additions and 0 deletions

13
娃哈哈-敢迈.js Normal file

File diff suppressed because one or more lines are too long

136
望潮修.py Normal file
View File

@@ -0,0 +1,136 @@
import hashlib
import math
import time
import requests
import datetime
import os
from urllib.parse import urlparse, parse_qs
import random
print('''
1. 抓取url中的accountIdsessionId
2. 环境变量为 wc值为 accountId&sessionId两个抓取数据多账户以&分隔
3. 20240615修复抽奖抽奖
''')
wc = os.getenv('wc')
cks = wc.split('&')
headers = {
'Host': 'xmt.taizhou.com.cn',
'User-Agent': 'Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36;xsb_wangchao;xsb_wangchao;6.0.2;native_app;6.10.0',
'Accept': '*/*',
'X-Requested-With': 'com.shangc.tiennews.taizhou',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://xmt.taizhou.com.cn/readingAward-v7-3/?gaze_control=01',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
}
def get_current_date():
now = datetime.datetime.now()
year_str = str(now.year)
month_str = f"0{now.month}" if now.month < 10 else str(now.month)
day_str = f"0{now.day}" if now.day < 10 else str(now.day)
print(f"当前日期{year_str}{month_str}{day_str}")
return year_str + month_str + day_str
def generate_md5(input_str):
md5_obj = hashlib.md5()
input_str_encoded = input_str.encode('utf-8')
md5_obj.update(input_str_encoded)
return md5_obj.hexdigest()
def fetch_article_list():
response = requests.get(f'https://xmt.taizhou.com.cn/prod-api/user-read/list/{get_current_date()}', headers=headers)
msg = response.json()['msg']
print(msg)
return response.json()
def mark_article_as_read(article_id):
timestamp_str = str(math.floor(time.time() * 1000))
signature = generate_md5('&&' + article_id + '&&TlGFQAOlCIVxnKopQnW&&' + timestamp_str)
url = f'https://xmt.taizhou.com.cn/prod-api/already-read/article?articid={article_id}&timestamp={timestamp_str}&signature={signature}'
response = requests.get(url, headers=headers)
print(response.text)
def participate_in_draw(cookie_value):
draw_headers = {
'Host': 'srv-app.taizhou.com.cn',
'User-Agent': headers['User-Agent'],
'Content-type': 'application/x-www-form-urlencoded',
'Accept': '*/*',
'Origin': 'https://srv-app.taizhou.com.cn',
'X-Requested-With': 'com.shangc.tiennews.taizhou',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://srv-app.taizhou.com.cn/luckdraw-awsc-ra-1/',
'Cookie': cookie_value,
}
login_url = f'https://srv-app.taizhou.com.cn/tzrb/user/loginWC?accountId={account_id}&sessionId={session_id}'
response = requests.get(login_url, headers=draw_headers)
print('res:',response.headers)
set_cookie = response.headers['Set-Cookie'].split(';')[0]+';'
print('ck:',set_cookie)
draw_headers['Cookie'] = set_cookie
post_data = {'activityId': '67', 'sessionId': 'undefined', 'sig': 'undefined', 'token': 'undefined'}
time.sleep(2)
draw_response = requests.post('https://srv-app.taizhou.com.cn/tzrb/userAwardRecordUpgrade/saveUpdate', headers=draw_headers, data=post_data)
print(draw_response.text)
display_draw_results(set_cookie)
def get_special_cookie():
special_cookie_url = f'https://xmt.taizhou.com.cn/prod-api/user-read/app/login?id={account_id}&sessionId={session_id}&deviceId=00000000-67f6-d0c4-0000-000059418bd5'
response = requests.get(special_cookie_url, headers=headers)
print('获取jsesesionid:',response.headers)
return response.headers
def display_draw_results(cookies):
draw_result_headers = {
'Host': 'srv-app.taizhou.com.cn',
'Connection': 'keep-alive',
'User-Agent': headers['User-Agent'],
'Accept': '*/*',
'X-Requested-With': 'com.shangc.tiennews.taizhou',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://srv-app.taizhou.com.cn/luckdraw-awsc-231023/',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': '',
}
draw_result_headers['Cookie'] = cookies
result_url = 'https://srv-app.taizhou.com.cn/tzrb/userAwardRecordUpgrade/pageList?pageSize=10&pageNum=1&activityId=67'
result_data = requests.get(result_url, headers=draw_result_headers).json()["data"]["records"]
for record in result_data:
create_time_str = str(record["createTime"])
award_name_str = str(record["awardName"])
print(f"{create_time_str}---------{award_name_str}")
if __name__ == '__main__':
for ck_parts in cks:
ck = ck_parts.split("#")
account_id = ck[0]
session_id = ck[1]
print(f"账号{account_id}开始执行")
special_cookie = get_special_cookie()['Set-Cookie']
headers['Cookie'] = special_cookie
print('去获取文章列表')
json_data = fetch_article_list()
for article in json_data['data']['articleIsReadList']:
article_id = article['id']
article_title = article['title']
if article['isRead'] == True:
print(f"文章{article_title}已读")
else:
print(f"文章{article_title}未读")
time.sleep(random.randint(3, 5))
mark_article_as_read(str(article_id))
time.sleep(random.randint(3, 5))
participate_in_draw(special_cookie)
print('休息半分钟,开始下一个账号')
time.sleep(random.randint(30, 40))