Python3自动签到 定时任务 判断节假日的实例


Posted in Python onNovember 13, 2018

不废话,直接上代码Python3.6

签到代码,只需修改url,账号,密码即可,此处是登录时无验证登录,有验证码的自行补充

# -*- coding:utf-8 -*- 
import json
import urllib.request
import datetime
 
# 模拟浏览器打开网站
browser = webdriver.Chrome()
browser.get('http://**.**.121.54/')
# 将窗口最大化
 browser.maximize_window()
     
# 根据路径找到按钮,并模拟进行点击
browser.find_element_by_id('btn').click()
# 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
time.sleep(2)
     
# 这里是找到输入框,发送要输入的用户名和密码,模拟登陆
browser.find_element_by_id(
     "username").send_keys("123456")
browser.find_element_by_id(
     "password").send_keys("123456")
# 在输入用户名和密码之后,点击登陆按钮
browser.find_element_by_id('btn').click()
time.sleep(2)    
# 点击登陆后的页面中的签到,跳转到签到页面
browser.find_element_by_id("signInCoin").click()
    time.sleep(2)   
# 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("签到成功")
     
# 脚本运行成功,退出浏览器
browser.quit()

定时任务代码

import time
from datetime import datetime, timedelta
from time import sleep
 
SECONDS_PER_DAY = 24 * 60 * 60
 
 
def doFunc():
 print "do Function..."
 
def doFirst():
 curTime = datetime.now()
 print (curTime)
 desTime = curTime.replace(hour=20, minute=0, second=0, microsecond=0)
 print (desTime)
 delta = curTime - desTime
 print (delta)
 skipSeconds = SECONDS_PER_DAY - delta.total_seconds()
 print ("Next day must sleep %d seconds" % skipSeconds)
 sleep(skipSeconds)
 #时间到执行方法
 doFunc()
 
if __name__ == "__main__":
 doFirst()

判断当前日期是否是节假日

1、接口地址:http://api.goseek.cn/Tools/holiday?date=数字日期

2、返回数据:工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2

3、节假日数据说明:本接口包含2017年起的中国法定节假日数据,数据来源国务院发布的公告,每年更新1次,确保数据最新

#获取当前时间 格式20180213
nowTime=time.strftime('%Y%m%d',time.localtime())
date = nowTime
#节假日接口
server_url = "http://api.goseek.cn/Tools/holiday?date="
  
vop_url_request = urllib.request.Request(server_url+date)
vop_response = urllib.request.urlopen(vop_url_request)
  
vop_data= json.loads(vop_response.read())
#打印返回的Json串  
print (vop_data)
 
if vop_data['data']==0:
 print ('This day is weekend 6-7')
elif vop_data['data']==1:
 print ('This day is weekend 6-7')
elif vop_data['data']==2:
 print ('This day is holiday')
else:
 print ('Error')

根据当前日期是否是节假日进行,自动签到打卡案例

# -*- coding:utf-8 -*- 
import json
import urllib.request
import datetime
 
# 方便延时加载
import time
from selenium import webdriver
 
SECONDS_PER_DAY = 24 * 60 * 60
 
##定时执行的任务 
 
from datetime import datetime, timedelta
from time import sleep
 
def doFirst():
 curTime = datetime.now()
 print (curTime)
 desTime = curTime.replace(hour=7, minute=45, second=0, microsecond=0)
 print (desTime)
 delta = desTime-curTime
 
 sleeptime = delta.total_seconds() % SECONDS_PER_DAY
 print(sleeptime)
 print ("Now day must sleep %d seconds" % sleeptime)
 
 sleep(sleeptime)
 #nowTime=datetime.datetime.now().strftime('%Y%m%d')#现在
 nowTime=time.strftime('%Y%m%d',time.localtime())
 date = nowTime
 server_url = "http://api.goseek.cn/Tools/holiday?date="
  
 vop_url_request = urllib.request.Request(server_url+date)
 vop_response = urllib.request.urlopen(vop_url_request)
  
 vop_data= json.loads(vop_response.read())
  
 print (vop_data)
 
 if vop_data['data']==0:
    # 模拟浏览器打开网站
    browser = webdriver.Chrome()
    browser.get('http://***.***.***.***/')
     # 将窗口最大化
    browser.maximize_window()
     
    # 根据路径找到按钮,并模拟进行点击
    browser.find_element_by_id('btn').click()
    # 延时2秒,以便网页加载所有元素,避免之后找不到对应的元素
    time.sleep(2)
     
    # 格式是PEP8自动转的
    # 这里是找到输入框,发送要输入的用户名和密码,模拟登陆
    browser.find_element_by_id(
     "username").send_keys("123456")
    browser.find_element_by_id(
     "password").send_keys("123456")
    # 在输入用户名和密码之后,点击登陆按钮
    browser.find_element_by_id('btn').click()
    time.sleep(2)    
    # 点击登陆后的页面中的签到,跳转到签到页面
    browser.find_element_by_id("signInCoin").click()
    time.sleep(2)   
    # 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
    print("签到成功")
     
    # 脚本运行成功,退出浏览器
    browser.quit()
 elif vop_data['data']==1:
  print ('This day is weekend 6-7')
 elif vop_data['data']==2:
  print ('This day is holiday')
 else:
  print ('Error')
 
if __name__ == "__main__":
 doFirst()

以上这篇Python3自动签到 定时任务 判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python统计文本文件内单词数量的方法
May 30 Python
Python的time模块中的常用方法整理
Jun 18 Python
Python中functools模块的常用函数解析
Jun 30 Python
Python决策树之基于信息增益的特征选择示例
Jun 25 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
Jun 13 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
Jul 16 Python
ipad上运行python的方法步骤
Oct 12 Python
几款好用的python工具库(小结)
Oct 20 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
python 实现逻辑回归
Dec 30 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
python判断输入日期为第几天的实例
Nov 13 #Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 #Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 #Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 #Python
python简易实现任意位数的水仙花实例
Nov 13 #Python
python找出完数的方法
Nov 12 #Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 #Python
You might like
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
Vuex利用state保存新闻数据实例
2017/06/28 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
javascript实现移动端轮播图
2020/12/09 Javascript
python 实现文件的递归拷贝实现代码
2012/08/02 Python
跟老齐学Python之变量和参数
2014/10/10 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python3生成手写体数字方法
2018/01/30 Python
Python操作MySQL数据库的方法
2018/06/20 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
跟单文员的岗位职责
2013/11/14 职场文书
公司投资建议书
2014/05/16 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers