前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >闯越顶岗实习app自动签到小脚本 python

闯越顶岗实习app自动签到小脚本 python

作者头像
kirin
发布2020-12-07 09:49:07
3.2K1
发布2020-12-07 09:49:07
举报
文章被收录于专栏:Kirin博客
代码语言:javascript
复制
今天下午摸鱼的时候突发奇想搞个顶岗实习签到小脚本玩玩,说干就干,造就完了

下面是完整的代码,基本改改就能用了,需要在同级目录下准备一个1.txt文件,存放用户名和密码,
用空格分隔 账号和密码
例子如下
username password

如果不需要邮件通知可以直接在最后面吧email函数注释即可
其中re用于提取用户以及签到状态记录日志邮件通知
calendar用于获取月份最后一天用于月报提交
random 随机抽取签到留言
 time 计时
没了


# -*- coding: utf-8 -*-
import json
import re
import time
from datetime import datetime
import calendar
import requests
import random
login_headers = {
        'Host': 'sgjs.cydgsx.com',
        'Connection': 'keep-alive',
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Origin': 'https://sgjs.cydgsx.com',
        'Sec-Fetch-Site': 'same-origin',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Dest': 'empty',
        'Referer': 'https://sgjs.cydgsx.com/m/Home/Index',
        'Accept-Encoding': 'gzip, deflate, br',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7'
    }

stime=time.time()
users=[]
with open('./1.txt')as f:
        al=f.readlines()
for x in al:
        x=x.replace('\n','')
        a=x.split(' ')
        users.append(a)
all_str=''
error=''


def run(username,pwd):
        all_str=''

        # url='https://sgjs.cydgsx.com/m/s/Log/DailyIsRepeatContent'
        # 签到内容编写提交url
        url = 'https://sgjs.cydgsx.com/m/s/Log/SaveWriteLog'
        # 登录接口
        login_url = 'https://sgjs.cydgsx.com/m/Home/CheckLoginJson'
        # 周报
        zhou_url = 'https://sgjs.cydgsx.com/m/s/Log/wWeekSmy?date=2020-11-22'
        # 月报
        yue_url = 'https://sgjs.cydgsx.com/m/s/Log/wMonthSmy?date=2020-11-30'
        data1 = {
                'username': username,
                'UserPwd': pwd
        }

        conment = [
                "今天上午妈妈给我买了小天才电话手表,这个是阿巴町脾子的,外面是黑色的,我非常喜欢,这个是在一个手机店里买的,很贵的,一千多呢!所以我们不能把它弄坏了,这个可是我的奖品,这个有很多个功能,有13个功能呢!我会好好爱护的。",
                "昨天下午放学后,打扫完卫生我和妈妈在回家的路上.看到一个姐姐在路上哭。妈妈上前问:小朋友怎么哭了;小姐姐说:我老爷没来接我。妈妈果断拿出手机,与小姐姐的妈妈取得了联系,并嘱咐姐姐不要乱跑,在原地等着家人来接;能帮助到别人我很开心然后我和妈妈开开心心的回家了。",
                '我马上就要生日了,我的生日礼物是无人机,无人机是4厘米机身,有监控,代替你的双眼,看看这个世界,监控拍的东西在手机上查看,飞的路程纪录保存下来,返航键回到手中,一共是185元呢!',
                "今天下午,放学后妈妈把我接回家之后,我就开始学习了。今天写作业和平常一样,只是我已经上二年级了,要自己独立写作业了。做完各项作业并仔细检查了一遍。我又把语文书1---3单元全部认真的读了一遍。我就开开心心的吃饭去了!",
                "今天,洗完澡对奶奶说:今天让自己洗袜子吧奶奶答应了。我把袜子放到水中泡一下,接着加洗衣粉, 后来我认真的搓洗3到5次再后来我把袜子放到水中再次搓洗,最后晾干就可以了。我洗袜子的时候手很难受,这样我才知到奶奶洗衣服的时候很辛苦!",
                "星期六晚上,爸爸带我去洗澡,我正洗的时候却发现有几个淋浴没关,我赶紧跑过去把它给关掉。爸爸看到了夸我长大了,比以前懂事了许多。通过这次洗澡,我感觉到了水对人类的重要性。如果没有水人类将无法生存。所以无论大人还是小孩都要做到节约用水,人人有则,节约用水要从我们每个人做起,要从点滴做起,我衷心的希望我们每个人都行动起来自觉做到节约用水人人有责。",
                "今天上午老师发短信通知了考试成绩,我一看傻眼了。记得考试完妈妈问我考的怎么样,我得意地说:很简单,肯定能考100分。可惜由于马虎没有考双百。以后我一定会改掉粗心的毛病。下午我得到一张“三好学生”奖状,让我感到十分、十分地高兴,在妈妈办公室,我拿出我的奖状让叔叔们看,叔叔伸出大拇指夸我真棒。我心里那个美呀没法说。以后我会更加努力争取每学期都是“三好学生。",
                "妹妹要过三岁的生日了,我一定要她开开心心的过他的三岁生日。妹妹一直以来就是我的开心果,所以妹妹的生日我要让妹妹开开心心的过。爸爸妈妈给妹妹买了一个蛋糕,还做了很多,我们爱吃的菜。我们唱唱跳跳的过了一个愉快的晚上。妹妹祝你生日快乐!!",
                "今天老妈不在家,我要自已做饭,唉!我先在电饭锅里放入米和一些水就可以蒸米饭了.我把土豆洗了,削皮,切成丝,最后再淘一下.把燃气打开,热锅,再倒进食用油,放入姜和葱,把土豆放入锅中炒.再放盐和味精就可以出锅了.再盛一点米饭,就成了美味的家肴了.妈妈来到家中时,还夸我了.",
                "中午放学的时候,爸爸和他的朋友带我去饭店吃饭。我吃完饭后,他们还在喝酒,我怕上学迟到就让爸爸送我,他就让我自己打的走。我有点害怕,因为这是我第一次打的,但为了不迟到我还是硬着头皮上了出租车。一路上我忐忑不安,提心吊胆,总怕被别人拉走。十分钟过后,总算到达了学校,我还真有点自豪呢",
        ]
        yuebao = ['''

        秋天到了!秋景是美丽迷人的,是五彩斑斓的。秋天是收获的季节,带给人丰收的喜悦。万物成熟,累累硕果,喜上眉梢,乐在心头。然而,秋风拂面的那一刻惊醒了我,蓦然回首,离开学校已经一年多了,而一年多里所收获的有这秋天的硕果这般沉甸甸吗?

        逝者如斯夫,要好好珍惜这来之不易的工作。路桥工程对我而言是一个崭新的概念,要做好这项工作就要从零开始学习,将知识重装。希望在下一个秋季来临之际能收获累累硕果。

        一、本月工作内容:

        1、 本项目的组织关系、合同文件、工程量清单、本项目项各领导、员工以及业主各部门、各施工劳务队伍的人员情况及其他有关项目组织关系的人员情况,联系方式等有了进一步的了解,日常工作能够及时的完成。但合同文件还需进一步研读,在遇到问题时能够迎刃而解。

        2、 在B养护站陶工的细心指导和B小修队的耐心帮助下,结合合同文件相关信息,最终完成B8、9月份的日常路况巡查。

        3、 办公室的卫生保持清洁,各项资料归档跟进完善,以迎接业主下个月前来我D检查及指导工作。

        4、 根据养护部的要求对六、七、八月份结算(汇总)进行了完善修改。检查了九月份A养护施工队伍的结算资料,并根据各养护站的要求进行了完善修改,目前六月份结算工程款已结。七、八月份工程量下个月应能一同得到养护部的签认。目前为止B和A养护站已验收九月份工程量,并且B养护施工队的结算资料已经得到签认。A养护施工队结算资料还待C养护站签认,收假可办确认手续。经过D多次督促,C养护施工队未及时与养护站验收九月份工程量。

        5、 从六月份计划书(汇总)开始,计划书(汇总)与结算(汇总)同时进行了修改完善。目前为止三个养护施工队七、八月份计划书已经汇总。九月份计划报书还待各个队的结算资料签认后方能汇总。

        三、个人感受

        非常感谢公司领导及同事的关心帮助,我很荣幸能有机会在本项目工作。其中的收获是潜移默化的。做好繁琐的工作需要严谨的工作态度,不断地吸取经验,提高自身的工作效率。深深体会到知识用到时方恨少的感觉,所以多积攒一些休息时间拓展自己的知识面。例如:CAD图的制作,这是在工程中是常用的一个软件,了解并能熟练使用至关重要。
        ''',
                  '''
                我第一次真正的踏上社会,开始了两个月的工作实习体验生涯。时间不长,体会甚多。明白了那句读万里书,不如行万里路的深刻体会,也许在此时此刻的我,真实的将实习当做工作了吧。

        本次实习的目的在于通过理论与实际的结合、个人与社会的沟通,进一步培养自己的业务水平、与人相处的技巧、团队协作精神、待人处事的能力等,尤其是观察、分析和解决问题的实际工作能力,以便提高自己的实践能力和综合素质,希望能帮助自己以后更加顺利地融入社会,投入到自己的工作中。

        一般来说,学校的生活环境和社会的工作环境存在很大的差距,学校主要专注于培养学生的学习能力和专业技能,社会主要专注于员工的专业知识和业务能力。要适应社会的生存要求,除了要加强课堂上的理论知识外,还必须要亲自接触社会参加工作实践,通过对社会工作的了解指导课堂学习。实际体会一般公司职员的基本素质要求,以培养自己的适应能力、组织能力、协调能力和分析解决实际问题的工作能力。

        实习在帮助应届毕业生从校园走向社会起到了非常重要的作用,因此要给予高度的重视。通过实习,让自己找出自身状况与社会实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理适应期。

        虽然已经是大三,但对于实际社会工作还是茫茫然的,毕竟书本上的只是一个概念,具体操作并没有教你。难得的实习机会,我想把它做好。在这段时间学会了一些比较琐碎的事情,但确实体会到了工作的辛酸,觉得自己在学校所学的专业知识严重不足,不能适应激烈的工作要求,像那些实际操作性极强的工作,我们这些刚出来没什么工作经验,而且本身就没好好学学校的专业课的人来说,根本无法和那些老手相竞争,有时候感觉确实无从下手。虽然说这只是个销售化妆品的公司,但在这实习期间,我从培训到商品的整理以及到产品的现场营销等,都全身心的投入到工作中去。

        实习对我来说是个既熟悉又陌生的字眼,因为我十几年的学生生涯也经历过很多的实习,但这次却又是那么的与众不同。它将全面检验我各方面的能力:学习、生活、心理、身体、思想等等。就像是一块试金石,检验我能否将所学理论知识用到实践中去。关系到我将来能否顺利的立足于这个充满挑战的社会,也是我建立信心的关键所在,所以,我对它的投入也是百分之百的!紧张的两个星期的实习生活结束了,在这两个多月里我还是有不少的收获。实习结束后有必要好好总结一下。

        这是第一次正式与社会接轨踏上工作岗位,开始与以往完全不一样的生活。每天在规定的时间上下班,上班期间要认真准时地完成自己的工作任务,不能草率敷衍了事。我们的肩上开始扛着民事责任,凡事得谨慎小心,否则随时可能要为一个小小的错误承担严重的后果付出巨大的代价,再也不是一句对不起和一纸道歉书所能解决。

        回顾这两个月来,自己的工作情况,扪心自问,坦言总结。在诸多方面还存在有不足。因此,更要及时强化自己的工作思想,端正意识,提高销售工作的方法技能与业务水平。

        首先,在不足点方面,从自身原因总结。我认为自己还一定程度的存在有欠缺强力说服顾客,打动其购买心理的技巧。

        作为一名销售人员,我们的首要目标就是架起一坐连接我们的商品与顾客的桥梁。为公司创造商业效绩。在这个方向的指导下,怎样用销售的技巧与语言来打动顾客的心,激发起购买欲望,就显得尤为重要。因此,在以后的销售工作中,我必须努力提高强化说服顾客,打动其购买心理的技巧。同时做到理论与实践相结合,不断为下一阶段工作积累宝贵经验。

        其次,注意自己销售工作中的细节,谨记销售理论中顾客就是上帝这一至理名言。用自己真诚的微笑,清晰的语言,细致的推介,体贴的服务去征服和打动消费者的心。让所有来到我们店的顾客都乘兴而来,满意而去。树立起我店工作人员的优质精神风貌,更树立起我们优质服务品牌。

        再次,要深化自己的工作业务。熟悉每一款化妆品的货号,大小,颜色,价位。做到烂熟于心。学会面对不同的顾客,采用不同的推介技巧。力争让每一位顾客都能买到自己称心如意的商品,更力争增加销售数量,提高销售业绩。

        最后,端正好自己心态。其心态的调整使我更加明白,不论做任何事,务必竭尽全力。这种精神的有无,可以决定一个人日后事业上的成功或失败,而我们的销售工作中更是如此。如果一个人领悟了通过全力工作来免除工作中的辛劳的秘诀,那么他就掌握了达到成功的原理。倘若能处处以主动,努力的精神来工作,那么无论在怎样的销售岗位上都很难有所建树。

        实习是学生大学学习完成全部课程后的最重要的实践环节。通过这次的实习,我对自己的专业有了更为详尽而深刻的了解,也是对这几年大学里所学知识的巩固与运用。从这次实习中,我体会到了实际的工作与书本上的知识是有一定距离的,并且需要进一步的再学习。在这次会计实习中,我可谓受益非浅。仅仅的二个月实习,我将受益终生。通过此次实习,不仅培养了我的实际动手能力,增加了实际的操作经验,缩短了抽象的课本知识与实际工作的距离,对实际的工作的有了一个新的开始。实习是每一个学生必须拥有的一段经历,它使我们在实践中了解社会,让我们学到了很多在课堂上根本就学不到的知识,打开了视野,增长了见识,为我们以后进一步走向社会打下坚实的基础。
                '''
                  ]
        qiang_data = {
                'InternStateId': 2,
                'interContent': random.choice(conment),
                # 'interContent':conment,
                'logImg': '',
                'posAddress': '广东省广州市黄埔区',
                'posLong': 113.43424414345672, # 经纬度
                'posLati': 23.181738219126583, # 经纬度
                'locationType': 1,
                'ArticleId': 1}

        session = requests.session()

        login = session.post(url=login_url, data=data1, headers=login_headers)
        islogin = json.loads(login.text)

        dtime = datetime.now()

        def zhou(nyr):
                msg=''

                # 传入年月日 用于写周报
                qiang_data = {
                        'logImg': '',
                        'smyDate': nyr,
                        'summaryType': '周小结',
                        'summaryInfo': random.choice(conment),
                        # 'summaryInfo': conment,
                }
                # 周报提交url
                a = session.post('https://sgjs.cydgsx.com/m/s/Log/SaveSmyJson', data=qiang_data)
                res = json.loads(a.text)
                if res['state'] == 1 and res['meg'] == '成功':
                        print('周报填写成功')
                        msg+='周报填写成功'+'<br>'
                else:
                        print('周报填写失败')
                        msg += '周报填写失败'+'<br>'
                return msg

        def yue(nyr):
                msg=''

                # 传入年月日 用于写周报
                qiang_data = {
                        'logImg': '',
                        'smyDate': nyr,
                        'summaryType': '月小结',
                        # 'summaryInfo': random.choice(conment),
                        'summaryInfo': random.choice(yuebao),
                }
                # 周报提交url
                a = session.post('https://sgjs.cydgsx.com/m/s/Log/SaveSmyJson', data=qiang_data)
                res = json.loads(a.text)
                if res['state'] == 1 and res['meg'] == '成功':
                        print('月报填写成功')
                        msg += '月报填写成功' + '<br>'
                else:
                        print('月报填写失败')
                        msg += '月报填写失败' + '<br>'
                return msg

        if islogin['state'] == 100:
                home = session.get('https://sgjs.cydgsx.com/m/s/home', headers=login_headers)
                # print(home.text)
                all_str+='登录成功'
                print('登录成功')
                name = re.findall('<span class="h_name">(.*?)</span>', home.text)
                iscre = re.findall('<a href=".*" class="h_checkedIn">(.*?)</a>', home.text)
                isq=0
                try:
                        print(name[0], '--当前签到状态-->', iscre[0])
                        all_str=str(name[0])+'--当前签到状态-->'+str(iscre[0])+'<br>'
                        if iscre[0] == '已签到':
                                isq=1
                except Exception as e:
                        print("未签到")
                        all_str += '未签到,签到程序启动中---' + '<br>'
                        isq=0
                # if iscre[0] == '已签到':
                if isq==1:
                        print('已经签到过了,无需签到')
                        all_str += '已经签到过了,无需签到' + '<br>'
                else:
                        a = session.post(url=url, data=qiang_data)
                        edit = json.loads(a.text)
                        if edit['state'] == 1 and edit['meg'] == '成功':
                                print('每日签到成功')
                                all_str += '每日签到成功' + '<br>'

                                # zhou('2020-11-22')
                                # yue('2020-11-30')
                                # 判断是否为星期天,如果是就写周报
                                if dtime.isoweekday() == 7:
                                        nyr = f'{dtime.year}-{dtime.month}-{dtime.day}'
                                        m1=zhou(nyr)
                                        all_str+=m1+'<br>'
                                # 获取当月第一天和最后一天
                                last = calendar.monthrange(dtime.year, dtime.month)
                                iflast = list(last)
                                # 获取今天的日期和系统日期对比,如果是最后一天就填写月报
                                if iflast[1] == dtime.day:
                                        nyr = f'{dtime.year}-{dtime.month}-{dtime.day}'
                                        m2=yue(nyr)
                                        all_str += m2 + '<br>'

                        else:
                                print('签到失败')
                                all_str += '签到失败' + '<br>'
        else:
                print('登录失败')
                all_str += '登录失败' + '<br>'

        print('----------', dtime.now(), '-------')
        all_str+='-------'+str(dtime.now())+'--------'+'<br><hr><br>'
        return all_str


def email(msg):

        import smtplib
        from email.mime.multipart import MIMEMultipart
        from email.mime.text import MIMEText
        from email.mime.image import MIMEImage
        from email.utils import parseaddr, formataddr
        dtime=datetime.now()

        sender = 'xxxxxxxx@qq.com'  # 这里就是你的QQ邮箱
        # receiver = 'xxxxxxxx@qq.com'  # 发给单人时的邮件接收邮箱
        to_address = ['xxxxxxxx@qq.com']  # 如果想发给多人,可以放入一个数组
        # cc_reciver = ['xxxxxxxx@qq.com', 'xxxxxxxx@qq.com']  # 如果想添加抄送人,也可以是单人或者数组的形式
        # reciver = to_reciver + cc_reciver

        smtpserver = "smtp.qq.com"  # 邮件服务器,如果是qq邮箱那就是这个了,其他的可以自行查找
        username = 'xxxxxx@qq.com'  # 这里还是你的邮箱
        password = 'xxxxxxxxxxxxxxx'  # 上面获取的SMTP授权码,相当于是一个密码验证

        msgRoot = MIMEMultipart('related')  # 邮件类型,如果要加图片等附件,就得是这个
        nyr=f'{dtime.year}-{dtime.month}-{dtime.day}--创越顶岗实习签到日志'
        msgRoot['Subject'] = nyr  # 邮件标题,以下设置项都很明了
        msgRoot['From'] = sender
        # msgRoot['To'] = receiver # 发给单人
        msgRoot['To'] = ",".join(to_address)  # 发给多人
        # message['Cc'] = ";".join(cc_reciver)  # 抄送人

        # 以下为邮件正文内容,含有一个居中的标题和一张图片
        content = MIMEText(
                f'''<html>
                <head>
                <style></style>
                </head>
                <body>
                      <br>
                        <h1 style="text-align:center">{nyr}</h1>
                        <br><br>
                        <div>{msg}</div>

                </body>
                </html>''',
                'html', 'utf-8')
        # 如果有编码格式问题导致乱码,可以进行格式转换:
        # content = content.decode('utf-8').encode('gbk')
        msgRoot.attach(content)

        # 连接邮件服务器,因为使用SMTP授权码的方式登录,必须是465端口
        smtp = smtplib.SMTP_SSL('smtp.qq.com:465')
        smtp.login(username, password)
        smtp.sendmail(sender, to_address, msgRoot.as_string())
        smtp.quit()


al_st=''
for go in users:
        st=run(go[0],go[1])
        al_st+=st
        time.sleep(3)
etime='<br>---本次运行时长'+str(time.time()-stime)+' s---'
email(al_st+etime)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
短信
腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档