python识别节假日_Python3自动签到 定时任务 判断节假日的实例

不废话,直接上代码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自动签到 定时任务 判断节假日的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[BZOJ 5074] 小B的数字

题目传送-BZOJ5074 题意: T组数据 你有一个数组\(A\),要求一个数组\(B\)\(B\)中的数都是2的正整数次幂。 令\(x\prod_{i1}^nB_i\),有\(x|B_i^{A_i},i\in1,2,3,...,n\)成立\(T \le 10,n \le 100000\) 题解: 首先\(B\)可以直接转化为每个元素的…

matlab数学实验第七章课后答案,matlab数学实验第七章答案

参考答案如下[单选,共用题干题] 患者男性,数学实验35岁,数学实验4天前因不慎划破皮肤后出现高热、皮肤瘀斑来院。查体:体温39.1℃,血压110/70mmHg,呼吸30次/分,心率107次&#xff0f…

Python List sort()方法

描述 sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。 语法 sort()方法语法: list.sort(cmpNone, keyNone, reverseFalse) 参数 • cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。 • key –…

oracle sql-1,Oracle – Oracle SQL(1)

Oracle – Oracle SQL(1)1. 简介(1) SQL : Structured Query Language,结构化查询语言,专门用于数据存取、数据更新及数据库管理等操作。(2) Oracle SQLDDL: Data Define Language数据定义语言包括CREATE、ALTER、DROP、TRUNCATE、COMMENT、RENAME等命令…

背景图层和普通图层的区别_008Photoshop四赞图层(图层样式)

图层过滤器图层滤镜,比如你只想看到像素图层,选择像素图层过滤器,这时就只能看到背景图层了(在图层面板),如果再点击像素图层过滤器,其他图层又出现了。选中调整图层过滤器,就只能看到图层结构里的调整图层…

洛谷P3628 [APIO2010]特别行动队(斜率优化)

传送门 先写出转移方程$$dp[i]max\{dp[j]a*(sum[i]-sum[j])^2b*(sum[i]-sum[j])c\}$$ 假设$j$比$k$更优,则有$$dp[j]a*(sum[i]-sum[j])^2b*(sum[i]-sum[j])c>dp[k]a*(sum[i]-sum[k])^2b*(sum[i]-sum[k])c$$ 展开,并消去同类项之后得$$dp[j]-2*a*sum[i…

实例6:python

#斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。 #F0 0 (n0) #F1 1 (n1) #Fn F[n-1] Fn-2 #!/usr/bin/python -- coding: UTF-8 -- #def fib(…

简述oracle的主要数据库对象,Oracle数据库数据对象分析

Oracle数据库数据对象分析Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。表和视图Oracle中表是数据存储的基本结构。…

vue devtools面板没有显示_vue 基础入门(四)

vue 基础入门(四)1.全局配置Vue.config 是一个对象,包含 Vue 的全局配置。可以在启动应用之前修改下列 property:1.1 silent类型:boolean默认值:false用法:Vue.config.silent true❝取消 Vue 所有的日志与警告。❞1.2…

SpaceVim 语言模块 lua

原文连接: https://spacevim.org/cn/layers/lang/lua/ 模块简介启用模块快捷键 交互式编程运行当前脚本模块简介 这一模块为在 SpaceVim 中进行 lua 开发提供了支持,包括代码补全、语法检查、代码格式化、交互式编程以及调试等特性。 启用模块 可通过在配…

python之def

1.def (define的前三个字母)是一个关键字,用来声明函数。 2.def 声明函数的格式为: def 函数名(参数1,参数2,…,参数n): 函数体 例如: def fib(n): print ‘n ’, n if n…

php pdo 00000,php-即使有错误,PDO错误代码也总是00000

我使用PHP 7.1.23测试了以下代码:$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,true);$sth $pdo->prepare(select now() and this is a bad sql where a - b from c);if ($sth false) {echo "error on prepare()\n";print_r($pdo->errorInf…

vue 生命周期_Vue生命周期小白看了都会的

最近一直在学习Vue,而vue生命周期是我们不可能绕开的一个很核心的知识点,今天来简单的梳理一下大概的内容。一、钩子函数在一开始学习的时候,总有钩子函数这个名词冒出来,而且在vue官网文档中也频繁出现,也相信给很多初…

Mac/Ubuntu 上编译、搭建 WebRtc/licode 服务器

1.下代码 git clone https://github.com/ging/licode.git cd licode 2.安装依赖 2.1 配置ubuntu开发环境: 2.1.1 安装C/C开发环境 1. sudo apt-get -y install build-essential //安装主要编译工具 gcc, g, make 2. sudo apt-get -y install autoconf automake1.9 3…

实例7:python

#将一个列表的数据复制到另一个列表中。 #程序分析:使用列表[:]。 #程序源代码: #!/usr/bin/python -- coding: UTF-8 -- #a [1, 2, 3] #b a[:] #print (b) #import copy #a [1, 2, 3] #bcopy.copy(a) #print(b) #[1, 2, 3] #使用 Python3 的参…

Python3 字典 copy()方法

描述 Python 字典 copy() 函数返回一个字典的浅复制。 语法 copy()方法语法: dict.copy() 参数 • NA。 返回值 返回一个字典的浅复制。 实例 以下实例展示了 copy()函数的使用方法: 实例 #!/usr/bin/python3 dict1 {‘Name’: ‘Runoob’, ‘Age’: 7,…

php为什么搜不到字段,php-通过多个字段搜索.有时一个领域,有时不止一个领域

我有搜索表.在这里多个领域.有时我将使用一个字段提交表单,有时将使用两个字段提交表单,有时使用多个字段值.if (isset($_POST[search])) {$projectName $_POST[pName];$clientId $_POST[s_by_clientName];$departmentId $_POST[s_by_department];$statusName $_POST[s_by_…

python语言key_Python语言学习:字典常用的方法

1. 增加:字典[key]value(不存在的key和value)info{stu1101:TengLan,stu1102:LuoZe,stu1103:XiaoZe}info[stu1104]crystalprint(info) #输出结果:{stu1101: TengLan, stu1102: LuoZe, stu1103: XiaoZe, stu1104: crystal}2. 修改:字典[key]val…

python 运算及注释

""" 上面的两行代码,在2.0的python中,若想执行含有汉字的代码,是必不可少的,且两行代码必写在单个py文件最上方,之间不可有任何字节。且该两行代码,可在pycharm,设置中,直接设置…

实例8:python

#输出 9*9 乘法口诀表。 #!/usr/bin/python -- coding: UTF-8 -- #for i in range(1, 10): print for j in range(1, i1): print ("%d*%d%d" % (i, j, i*j),) #!/usr/bin/python3 i0 j0 while i<9: i1 while j<9: j1 print(j,“x”,i,"",i*j,…