Files
uan7-home/惜紫酱的垃圾甬派任务本.py
2024-06-12 16:55:05 +08:00

133 lines
8.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- coding: utf-8 -*-
"""
new Env('甬派任务本MK1.0');
先运行脚本,有问题到群里问 https://t.me/mkwd123
通知模块请复制青龙的notify.py到脚本同级目录
"""
import datetime #line:7
import json #line:8
import os #line:9
import random #line:10
import re #line:11
import threading #line:12
from queue import Queue #line:13
import time #line:14
import requests #line:15
def get_msg ():#line:18
OO0O0O00O000OO0OO ={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"}#line:20
OO0OO00O0O0OOO0O0 =requests .get ('https://jihulab.com/xizhiai/xiaoym/-/raw/main/ver.json',headers =OO0O0O00O000OO0OO ).json ()#line:21
return OO0OO00O0O0OOO0O0 #line:22
_O0OOO00OOO000OOO0 =get_msg ()#line:25
def ftime ():#line:28
OOOO000OO0O0O0OOO =datetime .datetime .now ().strftime ('%Y-%m-%d %H:%M:%S')#line:29
return OOOO000OO0O0O0OOO #line:30
def load_notify ():#line:33
global send #line:34
try :#line:35
from notify import send #line:36
print ("加载通知服务成功!")#line:37
return True #line:38
except :#line:39
print ('加载通知服务失败,请复制一份青龙notify.py到同级文件夹')#line:40
return False #line:41
class YPAPP :#line:44
def __init__ (OOOO0OO00000OOOOO ,O0O0OO0O00OOO0OO0 ,O0OO0000OOO0OO000 ):#line:45
OOOO0OO00000OOOOO .session =requests .session ()#line:46
OOOO0OO00000OOOOO .deviceid =O0OO0000OOO0OO000 .split ('#')[0 ]#line:47
OOOO0OO00000OOOOO .ticket =O0OO0000OOO0OO000 .split ('#')[1 ]#line:48
OOOO0OO00000OOOOO .session .headers ={'User-Agent':'okhttp/4.9.1'if re .match (r'^[a-z0-9]*$',OOOO0OO00000OOOOO .deviceid )else 'PLYongPaiProject/10.1.1 (iPhone; iOS 15.7.9; Scale/2.00)','appversion':'10.1.1','ticket':OOOO0OO00000OOOOO .ticket ,'deviceid':OOOO0OO00000OOOOO .deviceid ,}#line:55
OOOO0OO00000OOOOO .index =O0O0OO0O00OOO0OO0 #line:56
OOOO0OO00000OOOOO .newsIds =[]#line:57
OOOO0OO00000OOOOO .score =0 #line:58
OOOO0OO00000OOOOO .userid =None #line:59
OOOO0OO00000OOOOO .msg =''#line:60
def get_userinfo (O00000O0O00O000O0 ):#line:62
O000O0O0OOO0OOOO0 ='https://ypapp.cnnb.com.cn/web-nbcc/member/member/info'#line:63
O0O0000OO000OO0O0 =O00000O0O00O000O0 .session .get (O000O0O0OOO0OOOO0 ).json ()#line:64
OOO0O00000O0OO0OO =json .loads (O0O0000OO000OO0O0 .get ('data'))#line:65
O00000O0O00O000O0 .userid =OOO0O00000O0OO0OO .get ('userId')#line:66
OO000OOOO0OOO0O00 =f'https://ypapp.cnnb.com.cn/yongpai-user/api/user/my_level?userId={O00000O0O00O000O0.userid}'#line:67
O0O0O000OOOOOOO0O =O00000O0O00O000O0 .session .get (OO000OOOO0OOO0O00 ).json ()#line:68
O00000O0O00O000O0 .score =O0O0O000OOOOOOO0O .get ('data').get ('score')#line:69
if O00000O0O00O000O0 .userid :#line:70
if O00000O0O00O000O0 .score <50 :#line:71
O0O0OO0O0O0O0000O =f'【登录】[账号{O00000O0O00O000O0.index}] 登录成功,现有积分{O00000O0O00O000O0.score}'#line:72
else :#line:73
O0O0OO0O0O0O0000O =f'【登录】[账号{O00000O0O00O000O0.index}] 登录成功,现有积分{O00000O0O00O000O0.score},够转转盘了'#line:74
print (O0O0OO0O0O0O0000O )#line:75
O00000O0O00O000O0 .msg +=O0O0OO0O0O0O0000O +'\n'#line:76
return True #line:77
else :#line:78
O0O0OO0O0O0O0000O =f'【登录】[账号{O00000O0O00O000O0.index}] 获取账号信息失败'#line:79
print (O0O0OO0O0O0O0000O )#line:80
O00000O0O00O000O0 .msg +=O0O0OO0O0O0O0000O +'\n'#line:81
return False #line:82
def get_newsids (O00000OOOO0000O0O ):#line:84
O0O0O0OOOOOOO0OOO =int (time .time ()*1000 )#line:85
while len (O00000OOOO0000O0O .newsIds )<50 :#line:86
for O0OO0OO0OOO0O00OO in range (5 ):#line:87
OOOO0OO00000OO0OO =f'https://ypapp.cnnb.com.cn/yongpai-news/api/v2/news/list?channelId={O0OO0OO0OOO0O00OO}&currentPage=1&timestamp={O0O0O0OOOOOOO0OOO}'#line:88
O0OO0O0OO0O0OOO00 =O00000OOOO0000O0O .session .get (OOOO0OO00000OO0OO ).json ()#line:89
if O0OO0O0OO0O0OOO00 .get ('code')!=0 :#line:90
print ('获取新闻失败')#line:91
continue #line:92
OO0O00O0O0OOOOOOO =O0OO0O0OO0O0OOO00 ['data']['content']#line:93
for OO0OO0OO000000O0O in OO0O00O0O0OOOOOOO :#line:94
if OO0OO0OO000000O0O .get ('newsId'):#line:95
O00000OOOO0000O0O .newsIds .append (OO0OO0OO000000O0O ['newsId'])#line:96
O00000OOOO0000O0O .newsIds =list (set (O00000OOOO0000O0O .newsIds ))#line:97
def read_news (O00OO00OOO00O0O0O ,O0OO00OO000O0OOO0 ,OOOO0O0OOOOO0O0O0 ):#line:99
O0O000OOOOOOOO00O =f'https://ypapp.cnnb.com.cn/yongpai-news/api/news/detail?newsId={OOOO0O0OOOOO0O0O0}&userId={O00OO00OOO00O0O0O.userid}'#line:100
O000O0000OO00OO0O =O00OO00OOO00O0O0O .session .get (O0O000OOOOOOOO00O ).json ()#line:101
if O000O0000OO00OO0O .get ('code')==0 :#line:102
print (f'【阅读】[账号{O00OO00OOO00O0O0O.index}] 第{O0OO00OO000O0OOO0}次阅读完成')#line:103
def prize (OO0OOOO0O00OOO0OO ,OOOOOO0OOO0OOO00O ,OOOO00O00OOO000O0 ):#line:105
O0000OOOO0OOO0OO0 =f'https://ypapp.cnnb.com.cn/yongpai-ugc/api/praise/save_news?deviceId={OO0OOOO0O00OOO0OO.deviceid}&newsId={OOOO00O00OOO000O0}&userId={OO0OOOO0O00OOO0OO.userid}'#line:106
OOOOOO0OO00OOOO00 =OO0OOOO0O00OOO0OO .session .get (O0000OOOO0OOO0OO0 ).json ()#line:107
if OOOOOO0OO00OOOO00 .get ('code')==0 :#line:108
print (f'【点赞】[账号{OO0OOOO0O00OOO0OO.index}] 第{OOOOOO0OOO0OOO00O}{OOOOOO0OO00OOOO00["data"]["review"]},获得积分{OOOOOO0OO00OOOO00["data"].get("score")}')#line:109
else :#line:110
print (f'【点赞】[账号{OO0OOOO0O00OOO0OO.index}] 第{OOOOOO0OOO0OOO00O}{OOOOOO0OO00OOOO00["data"]["review"]}')#line:111
def run (O00O0000OO0O0OOO0 ):#line:113
if O00O0000OO0O0OOO0 .get_userinfo ():#line:114
O00O0000OO0O0OOO0 .get_newsids ()#line:115
random .shuffle (O00O0000OO0O0OOO0 .newsIds )#line:116
O0O00O0OOOOOOO000 =random .sample (range (len (O00O0000OO0O0OOO0 .newsIds )),50 )#line:117
O0O00O0OOOOOOO000 .sort ()#line:118
for O00OO0O0OO0O000O0 ,O00OO0O00O00OO00O in enumerate (O0O00O0OOOOOOO000 ,start =1 ):#line:119
O00O0000OO0O0OOO0 .read_news (O00OO0O0OO0O000O0 ,O00O0000OO0O0OOO0 .newsIds [O00OO0O00O00OO00O ])#line:120
time .sleep (1 )#line:121
O00O0000OO0O0OOO0 .prize (O00OO0O0OO0O000O0 ,O00O0000OO0O0OOO0 .newsIds [O00OO0O00O00OO00O ])#line:122
time .sleep (2 )#line:123
O00O0000OO0O0OOO0 .get_userinfo ()#line:124
return O00O0000OO0O0OOO0 .msg #line:125
def yp (O0OOOO0000OOOO0O0 ,OO00OO0OOOO0O0OO0 ):#line:128
while not O0OOOO0000OOOO0O0 .empty ():#line:129
OOO0OOOO0OOO00O00 ,OO0OO0OOOO0O0O00O =O0OOOO0000OOOO0O0 .get ()#line:130
OO000OO00OO00O0OO =YPAPP (OOO0OOOO0OOO00O00 ,OO0OO0OOOO0O0O00O )#line:131
OO00OO0OOOO0O0OO0 .put (OO000OO00OO00O0OO .run ())#line:132
def main ():#line:147
OOOOOOO00O00OO00O =os .getenv ('mkypck')#line:149
if not OOOOOOO00O00OO00O :#line:150
print ('叼毛没有获取到甬派ck')#line:151
exit ()#line:152
O0OO0O00O0O000000 =OOOOOOO00O00OO00O .replace ('&','\n').split ('\n')#line:153
OOO00OO000OO0000O =f'共获取到{len(O0OO0O00O0O000000)}个账号\n\n'#line:154
print (f'共获取到{len(O0OO0O00O0O000000)}个账号\n')#line:155
OOOO0OO0000OOOOO0 =Queue ()#line:156
O0O0O0OO0OO0OO0OO =Queue ()#line:157
O0O00OO000O0OOOO0 =[]#line:158
for OO0O000OOO00O0000 ,OOOOOOO00O00OO00O in enumerate (O0OO0O00O0O000000 ,start =1 ):#line:159
OOOO0OO0000OOOOO0 .put ([OO0O000OOO00O0000 ,OOOOOOO00O00OO00O ])#line:160
for OO0O000OOO00O0000 in range (5 ):#line:161
OO0OO0000OOOO0OO0 =threading .Thread (target =yp ,args =(OOOO0OO0000OOOOO0 ,O0O0O0OO0OO0OO0OO ))#line:162
OO0OO0000OOOO0OO0 .start ()#line:163
O0O00OO000O0OOOO0 .append (OO0OO0000OOOO0OO0 )#line:164
for OOOO0O0O0O0O000O0 in O0O00OO000O0OOOO0 :#line:165
OOOO0O0O0O0O000O0 .join ()#line:166
while not O0O0O0OO0OO0OO0OO .empty ():#line:167
OOO00OO000OO0000O +=O0O0O0OO0OO0OO0OO .get ()+'\n'#line:168
if load_notify ():#line:169
send ('甬派任务通知',OOO00OO000OO0000O +f'\n\n本通知byMK1.0垃圾甬派任务本 讨论群https://t.me/mkwd123\n通知时间:{ftime()}')#line:171
if __name__ =='__main__':#line:174
main ()#line:175