时间:2021-05-22
T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi 。于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现、定时任务执行以及签到提醒的方式多种多样,好羡慕啊。所以这里国光也尝试借鉴前辈们的脚本,尝试整合一个自己的自动签到脚本,因为国光有自己的服务器,所以打算使用 Linux 下的 crontab 来定时执行任务,提醒的话使用钉钉和邮件提醒基本上可以满足我的使用需求了,话不多说,下面开始脚本的编写吧。
基础签到
写代码功能得慢慢添加上去,首先得实现一个最基础的登录并签到功能,后续再添加邮件以及钉钉提醒等功能。
因为脚本功能比较简单,就直接将对应的功能封装成函数了。对应的函数都按照正规开发那样给了详细的注释和说明,话不多说直接看下面的代码吧:
import jsonimport requestsusername = '国光' # 帐号password = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' # 密码MD5 32位(小写)question_num = 5 # 安全提问 参考下面question_answer = 'xxx' # 安全提问答案# 0 = 没有安全提问# 1 = 母亲的名字# 2 = 爷爷的名字# 3 = 父亲出生的城市# 4 = 您其中一位老师的名字# 5 = 您个人计算机的型号# 6 = 您最喜欢的餐馆名称# 7 = 驾驶执照的最后四位数字def t00ls_login(u_name, u_pass, q_num, q_ans): """ t00ls 登录函数 :param u_name: 用户名 :param u_pass: 密码的 md5 值 32 位小写 :param q_num: 安全提问类型 :param q_ans: 安全提问答案 :return: 签到要用的 hash 和 登录后的 Cookies """ login_data = { 'action': 'login', 'username': u_name, 'password': u_pass, 'questionid': q_num, 'answer': q_ans } response_login = requests.post('https://", 465) server.login(sender, sender_pass) server.sendmail(sender, [receiver, ], msg.as_string()) server.quit()def main(): content = '' response_login = t00ls_login(username, password, question_num, question_answer) if response_login: response_sign = t00ls_sign(response_login[0], response_login[1]) if response_sign['status'] == 'success': print('签到成功 TuBi + 1') content += '\n签到成功 TuBi + 1\n' verbose_log = t00ls_domain(response_login[0], response_login[1]) content += verbose_log if notice == 0: try: dingtalk(content) except Exception: print('请检查钉钉配置是否正确') elif notice == 1: try: mail(content) except Exception: print('请检查邮件配置是否正确') else: try: dingtalk(content) except Exception: print('请检查钉钉配置是否正确') try: mail(content) except Exception: print('请检查邮件配置是否正确') elif response_sign['message'] == 'alreadysign': print('已经签到过啦') content += '\n已经签到过啦\n' verbose_log = t00ls_domain(response_login[0], response_login[1]) content += verbose_log if notice == 0: try: dingtalk(content) except Exception: print('请检查钉钉配置是否正确') elif notice == 1: try: mail(content) except Exception: print('请检查邮件配置是否正确') else: try: dingtalk(content) except Exception: print('请检查钉钉配置是否正确') try: mail(content) except Exception: print('请检查邮件配置是否正确') else: print('出现玄学问题了 签到失败') else: print('登入失败 请检查输入资料是否正确')if __name__ == '__main__': main()最终整合的代码看上去就不是那么优雅的… 看来还是正如古人说的那样:“有善始者实繁,能克终者盖寡” 啊。
不管这么多了,以后有机会再来改进代码吧,下面直接看效果图:
因为国光我今天签到并查询过了,所以图片上看的都是失败的。
定时任务
看了不少网友使用了腾讯云函数和Github 自带的 Actions 来实现自动触发脚本,的确也很不错,感兴趣的朋友也可研究看看。因为国光我有一台 Web 服务器,所以国光我就采用了在 Linux 下使用原生的 crontab 命令实现定时任务了:
# 查看定时任务crontab -l# 编辑定时任务crontab -e编辑定时任务,一行一个任务,国光我本次填写的内容如下:
30 9 * * * /usr/bin/python3 /root/code/t00ls/TuBi.py>&1
表示每天 9:30 自动运行下面的命令:
/usr/bin/python3 /root/code/t00ls/TuBi.py
这样看起来是不是很简单呢,如果语法没有问题的话,会得到如下提示:
crontab: installing new crontab
这表示新建定时任务成功,后面就可以躺着赚去每天的 2 个 TuBi 了。
总结
这个脚本虽然并没有啥难度,但是还是比实用的。钉钉的 webhook 调用也很方便,以后再也其他类似脚本的话就可以少走一些弯路了,总之不论是开发还是安全都有很长的路要走,路漫漫其修远兮,吾将上下而求索,共勉 !
到此这篇关于Python 实现 T00ls 自动签到脚本(邮件+钉钉通知)的文章就介绍到这了,更多相关python自动签到脚本内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
钉钉查看员工位置的操作步骤如下: 1、进入企业微应用的签到页面后,钉钉将自动定位你所在的位置,然后点击签到。 2、然后在签到这里,自己可以说点什么,也就是备
钉钉签到后是没有主动提示的。钉钉签到情况不会在工作提示中主动出现。需要手动点开签到,然后在签到功能中查看每天的签到情况。 钉钉(DingTalk)是阿里巴巴集
钉钉签到可以方便外勤人员签到,去客户拜访签到就可以完成,适合经内常外出不固容定办公,打开手机钉钉,进入工作,签到即可开始签到。钉钉考勤是全新的人性化考勤方式,能
可以的。因为只要那个人签到,系统会自动定位它签到的地理位置。钉钉签到可以随时了解外勤人员分布。签到记录时间和位置,并可拍照打卡。签到时可选择拜访的客户,记录客户
钉钉签到位置微调为防止签到的时候定位有偏差,可以使用地点微调来选取正确的地方签到,禁止即是不允许调整地点签到。 钉钉(DingTalk)是阿里巴巴集团专为中国