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中文件遍历的两种方法
Jun 16 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
一些常用的Python爬虫技巧汇总
Sep 28 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
python中使用zip函数出现错误的原因
Sep 28 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
Python/Django后端使用PIL Image生成头像缩略图
Apr 30 Python
使用Python opencv实现视频与图片的相互转换
Jul 08 Python
python elasticsearch环境搭建详解
Sep 02 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 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
apache rewrite_module模块使用教程
2008/01/10 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
JavaScript 比较时间大小的代码
2010/04/24 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
javascript 动态创建表格
2015/01/08 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
2018/02/08 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
Python中Collection的使用小技巧
2014/08/18 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
物业工作计划书
2014/01/10 职场文书
房屋公证委托书
2014/04/03 职场文书
商务日语专业自荐信
2014/04/17 职场文书
讲解员培训方案
2014/05/04 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
考研导师推荐信范文
2015/03/27 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL