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的另外几种语言实现
Jan 29 Python
python中threading超线程用法实例分析
May 16 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
python实现批量视频分帧、保存视频帧
May 31 Python
解决python Jupyter不能导入外部包问题
Apr 15 Python
Python预测2020高考分数和录取情况
Jul 08 Python
python输出结果刷新及进度条的实现操作
Jul 13 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
如何用Python徒手写线性回归
Jan 25 Python
opencv实现图像几何变换
Mar 24 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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的博客ping服务代码
2012/02/04 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
PHP缓存工具XCache安装与使用方法详解
2018/04/09 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
在Python的Django框架中实现Hacker News的一些功能
2015/04/17 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
python常用数据重复项处理方法
2019/11/22 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
自我鉴定范文
2013/11/10 职场文书
《掌声》教学反思
2014/02/23 职场文书
美术指导助理求职信
2014/04/20 职场文书
2014年初三班主任工作总结
2014/12/05 职场文书