本文来源吾爱破解论坛
本帖最后由 q59541511 于 2018-9-9 21:00 编辑
0x0001 分析异步社区各项任务发起请求
登录+5
功能:签到+5
链接:https://www.epubit.com/points/sign
请求方式:get
功能:阅读文章+5
链接:https://www.epubit.com/points/read
请求方式:post
参数:
activeCode:1
objectId:f180197f-af12-4819-aa13-3551db7cdf09
activeDescription:分享:<<图书名>>(可不添加)
功能:点赞文章+5
链接:https://www.epubit.com/selfpublish/like
请求方式post
参数:
bookId:f180197f-af12-4819-aa13-3551db7cdf09
memberPortalId:12c61401-6d3a-438c-910b-af00b2bd6f9a(用户ID)
功能:分享文章+10
链接:https://www.epubit.com/points/read
请求方式:post
参数:
activeCode:3
objectId:f180197f-af12-4819-aa13-3551db7cdf09
activeDescription:分享:<<图书名>>(可不添加)
功能:阅读图书+5
链接:https://www.epubit.com/points/read
请求方式:post
activeCode:2
objectId:A707FE7E-8283-4283-BB7A-93C134FC5D16
activeDescription:阅读:<<图书名>>(可不添加)
功能:点赞一本书5+
链接:https://www.epubit.com/book/like
请求方式post
参数:
bookId:F0A82CF9-57DB-422C-B859-FBB2646D663D
memberPortalId:12c61401-6d3a-438c-910b-af00b2bd6f9a(用户ID)
功能:分享图书+10
链接:https://www.epubit.com/points/read
请求方式:post
参数:
activeCode:4
objectId:A707FE7E-8283-4283-BB7A-93C134FC5D16
activeDescription:分享:<<图书名>>(可不添加)
0x0002 项目需求解析
1.需要书籍Id 自己采集.(我这边已经采集了所有的书籍ID)
2.每次任务需要进行请求阅读不同的书籍
3.图像验证.(我这边就使用第三方验证打码平台) 等收集到足够的样本使用tensorflow训练
0x0003 编写代码实现自动登录打码以及读书任务
[Python] 纯文本查看 复制代码
#!/usr/bin/evt python import requests import json import re import configparser import time def test_code(api_username, api_password, file_bytes, api_post_url, yzm_min, yzm_max, yzm_type, tools_token): # api_username = # api_password = # file_name = 'c:/temp/lianzhong_vcode.png' # api_post_url = "http://v1-http-api.jsdama.com/api.php?mod=php&act=upload" # yzm_min = '5' # yzm_max = '5' # yzm_type = '1001' tools_token = 'q59541511' # proxies = {'http': 'http://127.0.0.1:8888'} headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0', # 'Content-Type': 'multipart/form-data; boundary=---------------------------227973204131376', 'Connection': 'keep-alive', 'Host': 'v1-http-api.jsdama.com', 'Upgrade-Insecure-Requests': '1' } files = { 'upload': ('a.jpg',file_bytes, 'image/png') } data = { 'user_name': api_username, 'user_pw': api_password, 'yzm_minlen': yzm_min, 'yzm_maxlen': yzm_max, 'yzmtype_mark': yzm_type, 'zztool_token': tools_token } s = requests.session() # r = s.post(api_post_url, headers=headers, data=data, files=files, verify=False, proxies=proxies) r = s.post(api_post_url, headers=headers, data=data, files=files, verify=False) params=r.text print(params) return params def login(user): ''' yibu_login :param user: :return: session ''' headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'Referer':'https://www.epubit.com/login', } session = requests.session() session.headers.update(headers) session.get('https://www.epubit.com/login',headers=headers) response = session.get('https://www.epubit.com/kaptcha.jpg',headers=headers) img = response.content code = test_code('联众帐号','联众密码',img,'http://v1-http-api.jsdama.com/api.php?mod=php&act=upload','5','5','1001') #这里一定要填写清楚不然不能进行打码 code = json.loads(code) #code = input() with open('./Imgs/'+code['data']['val']+'.jpg','wb') as f: f.write(img) #我这里将验证码全部下载下来了方便以后制作识别库 data={ 'username':user, 'password':'asd123456', #这里一定要写你帐号的密码一般我都定义成一样 'verifyCode':code['data']['val'], 'rememberMe':'false' } session.post('https://www.epubit.com/login',headers=headers,data=data) return session def yibu_sign(session): ''' yibu_sign :param header: :return: ''' session.post('https://www.epubit.com/points/sign') def getUserid(session): response = session.get('https://www.epubit.com/') Regex = re.compile('var userId = \'' + '(.*?)' + '\';', re.S) idlist = Regex.findall(response.text) return idlist[0] def yibu_do_read(session,txtid,bookid): for a in range(1,5): if a%2==0: data = { 'activeCode': str(a), 'objectId': bookid, } response = session.post('https://www.epubit.com/points/read', data=data) print(response.text) else: data = { 'activeCode': str(a), 'objectId': txtid, } response= session.post('https://www.epubit.com/points/read', data=data) print(response.text) def likebook(session,userid,bookid): data={ 'bookId':bookid, 'memberPortalId':userid } response= session.post('https://www.epubit.com/book/like',data=data) print(response.text) def liketxt(session,userid,txtid): data={ 'selfPublishId': txtid, 'memberPortalId': userid } response=session.post('https://www.epubit.com/selfpublish/like',data=data) print(response.text) def gettxtandbook(number): filetxt = open('./yibu_txt.txt', 'r') txt = filetxt.read().splitlines() filebook = open('./yibu_book.txt', 'r') book = filebook.read().splitlines() txtandbook=(txt[number],book[number]) return txtandbook def getconfignumber(): config=configparser.ConfigParser() config.read("./config.ini", encoding="utf-8-sig") number=int(config.get("config","number")) return number def Change_Config(number): print('Do_New_Task'+str(number)) cf=configparser.ConfigParser() cf.read('./config.ini') cf.set('config','number',str(number+1)) cf.write(open('./config.ini','w')) print('[yibu]OK:'+str(number+1)) def yibu_login_do_task(txt,book,user): session = login(user) Userid=getUserid(session) yibu_sign(session) time.sleep(1) yibu_do_read(session,txt,book) time.sleep(1) likebook(session,Userid,book) time.sleep(1) liketxt(session,Userid,txt) session.cookies.clear() userid=[ '132548487487', #这里是你需要进行读书任务的手机号 ] if __name__ == '__main__': number = getconfignumber() bookandtxt = gettxtandbook(number) for i in userid: yibu_login_do_task(bookandtxt[0], bookandtxt[1],i) Change_Config(number)
0x0004 这玩意有啥用?
积分可以兑换异步社区的任何书籍.达到刷书的目的
Task.rar
2018-9-9 20:58 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB58.08 KB, 下载次数: 47, 下载积分: 吾爱币 -1 CB
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: [笔记]算法学习:不同的二叉搜索树 II
- 下一篇: 【新手】爬取吾爱精品软件模块