最近需要写个日更新的程序,用time.sleep()不能很好的控制任务的执行时间 于是,就使用了python的任务调度模块apscheduler,这个模块功能真的是很强大 具体的就不多讲了 将任务程序都设置好,之后,任务只在第一天执行,后面两天都没有执行 通过仔细检查log之后,发现了异常 正常的本次运行完,下次的任务执行时间log为: 144 - 2018-11-23 01:12:10,230 - INFO - Job "SubmitData (trigger: interval[1 day,…
玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支持做得很是差劲,易宝的例子代码居然是错的,这么囧的事情都能出现,可见国内的竞争还是不够激烈啊. 进入主题,今天的任务是要打通支付和支付通知接口,根据一般性规则,通过http协议的支付接口的一般设计都是,通过N个field或者查询参数传递数据,其中一个是验证串,防止篡改数据,每个申请了支付接口的用户都…
记一次python + selenium小项目出现的问题与解决办法 如何接入代理 def crawl_xdaili(self):#代理 可不用 需要时 解除注释 """ 获取讯代理 :return: 代理 """ url = '寻代理的api接口 自己去讯代理官网' r = requests.get(url) if r: result = json.loads(r.text) proxies = result.get('RESULT') for…
APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用.目前最新版本为3.0.x. 在APScheduler中有四个组件: 触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行.除了他们自己初始配置意外,触发器完全是无状态的. 作业存储(job store)存储被调度的作业,默认的作业存储是简单地把作业保存在内存中,其他的作业存储…
APScheduler是一个Python定时任务框架,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务.并以daemon方式运行应用.目前最新版本为3.0.x. 在APScheduler中有四个组件: 触发器(trigger)包含调度逻辑,每一个作业有它自己的触发器,用于决定接下来哪一个作业会运行.除了他们自己初始配置意外,触发器完全是无状态的. 作业存储(job store)存储被调度的作业,默认的作业存储是简单地把作业保存在内存中,其他的作业存储…
1.安装 pip install apscheduler 安装完毕 2. 简单任务 首先,来个最简单的例子,看看它的威力. # coding:utf-8 from apscheduler.schedulers.blocking import BlockingScheduler import datetime def aps_test(): print datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), '你好' scheduler = B…
APScheduler可以把调度任务放到内存里,也可以把任务放到数据库里,那么如何交互式修改定时任务的执行时间间隔或者下次执行时间呢? 方案一:把定时任务放到数据库里,修改数据库里任务的调度时间 方案二:对任务进行动态删除.创建.删除旧的任务.重新设置调度时间,创建新的调度任务. job = scheduler.add_job(myfunc, 'interval', minutes=2) job.remove() scheduler.add_job(myfunc, 'interval', min…
前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法. 一.APScheduler介绍 APScheduler是基于Quartz的一个python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务. APScheduler提供了多种不同的调度器,方便开发者根据自己的实际需要进行使用:同时也提供了不同的存储机…
前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法. 一.APScheduler介绍 APScheduler是基于Quartz的一个python定时任务框架,实现了Quartz的所有功能,使用起来十分方便.提供了基于日期.固定时间间隔以及crontab类型的任务,并且可以持久化任务. APScheduler提供了多种不同的调度器,方便开发者根据自己的实际需要进行使用:同时也提供了不同的存储机…
一.任务描述 上周,老板给我一个小任务:批量生成手机号码并去重.给了我一个Excel表,里面是中国移动各个地区的可用手机号码前7位(如下图),里面有十三张表,每个表里的电话号码前缀估计大概是八千个,需要这些7位号码生成每个都生成后4位组成11位手机号码,也就说每一个格子里面的手机号码都要生成一万个手机号.而且还有,本来服务器已经使用了一部分手机号码了,要在生成的号码列表里去掉已经使用过的那一批.已经使用过的这一批号码已经导出到了一批txt文本里,约4000w,每个txt有10w个号码,里面有重复…
摘要: 断断续续写python一段时间了,让我说python最令我头疼的问题,莫过于编码问题.最近做大论文,使用python再次出现编码报错.错误如下: "UnicodeEncodeError: 'ascii' codec can't encode characters in position ...." 用过python的人大都遇到过上面的错误,遇到这个问题,首先要进行定位,首先要判断python的默认编码环境是否符合你的要求,具体操作如下: import sys print sys…
为啥要做Python爬虫,是因为我去找电影的某个网站有点坑,它支持tag标签查询自己喜欢的电影,但是不支持双标签或者三标签查询.由于一个电影对应多种类型(tag),这就意味着,我需要进入这个电影介绍界面,看看他的tag是不是我需要的.太麻烦了.于是我想着做一个python爬虫. 首先需求分析. 流程如下:在网站的主界面获得每部电影的URL——>进入每部电影的介绍界面——>判断它的tag是否符合要求,如果符合返回这部电影的名字——>把满足条件的URL和电影名字保存为文件——>下一页…
前言 这几天做自动化测试的同事找到我,说是帮她看看有个AES加密的问题要怎么处理. 大概就是文档中贴了一段C#的AES加密代码,然后她要翻译成python的版本,去做一些测试相关的工作. 在我印象中,AES加密在不同语言中对接或多或少都有一点点不一样,并不会像同一种一言那么流畅,总是要踩踩坑才能解决. 文档中C#版本的实现 public static string AesEncrypt(string toEncrypt, string key) { byte[] keyArray = SHA25…
最近由于需要写一个脚本调用另一个文件里面的一个方法,试了很久都导包失败,特此记录一下 问题背景 1)脚本文件为send_reward.py,要调用public_model_func.py里面的一个类方法 2)public_model_func.py里面导入了项目的其他包,其导包方式为from src.xxx.xxx import xxx,其中src为项目代码的根目录 3)项目处于运行状态,脚本是后续自己写的 解决过程 1)尝试在send_reward.py里面使用from src.xxx.xxx…
作者:落阳 日期:2020-12-23 在一次项目开发中,决定使用docker+nginx+flask+mysql的技术栈来开发,用此系列文章记录开发的过程. 系列文章,当前为第一篇,记录一次python分布式web开发过程. 一.docker的安装 作为学生,想找到合适数量的计算机部署分布式系统是一个令人头疼的问题.所以打算在虚拟机上利用docker来部署伪分布式的系统,方便环境搭建.开发和二次部署. docker定义如下(摘自百度百科): Docker 是一个开源的应用容器引擎,让开发者可以…
C#调用python脚本错误: 使用cmd直接运行脚本报错: TabError: inconsistent use of tabs and spaces in indentation 查看日志报错: Python脚本运行出现语法错误:IndentationError: unindent does not match any outer indentation level 请假别人和查询资料发现python对缩进有严格要求,下图这样是不行的 下面是对的 https://blog.csdn.net/…
isdigit把字符串转化为整数 用法 if xx.isdigit(): xx=int(xx) index创建一个小原组,用法print(a.index(b),b)从0开始…
import requests from bs4 import BeautifulSoup import re import traceback def GetHtmlText(url): for i in range(0,1): #尝试两次 try: r=requests.get(url) r.encoding = 'utf-8' r.raise_for_status(); return r.text; except: traceback.print_exc() continue return…
廖雪峰的教学博客https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143178254193589df9c612d2449618ea460e7a672a366000…
需求:拿到指定格式的时间的前一天的时间,如果今天是月初,年初,自动转换,比如:输入时间是:2019-06-27 23:59:59输出时间是:2019-06-26 23:59:59 之前用datetime需要各种判断月初,年初等条件,后来想到用给的时间的时间戳直接减去86400,然后在转换成指定的格式即可 话不多说,直接上代码: def get_yesterdayTime(provided_time): t_providedTime=time.strptime(provided_time,'%Y-…
pip 安装失败时,可能换此方法可解决1.升级pip版本,这个一般会主动提示python3 -m pip install --upgrade pip2.修改pip源,默认的pip源速度实在无法忍受,或者出错的情况下,可以使用国内的pip源,如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simp…
——————————————————————————我将青春翻涌成它...... 本节主要讨论列表不同于元组和字符串的地方__________列表是可变的,即可修改内容.另外,列表有很多特有的方法. 1.函数  list 2.基本的列表操作 2.1 修改列表:给元素赋值 2.2 删除元素 2.3给切片赋值 使用切片赋值还可在不替换原有元素的情况下插入新元素. 在这里,我“替换”了一个空切片,相当于插入了一个序列.你可采取相反的措施来删除切片. _________切片回顾: 我们提供两个索引来指定…
来源商业新知网,原标题:15步,你就能拥有自己的Python程序包 全文共 3192 字,预计学习时长 6 分钟 每个软件开发员和数据科学家都难免要做程序包.本文推荐一篇 Python开源程序包的制作指南,希望这个包含了具体操作步骤的指南能让你在构建程序包时不用花那么多耐心和时间. ( 适用于macOS系统的Python3.7版本) 尝试着自己去构建美丽的东西吧! 第1步:制定计划 我们的最终目的是制作一个很简单的Python库,它能够让用户轻松地将Jupyter笔记本转换为HTML文件或Pyt…
1.头部加: #!/usr/bin/env python # -*- coding:utf-8 -*-    2.bit_length() :当前数值为二进制时,至少要用多少为表示 a = 5 b = a.bit_length() print(b) ———————— 3 3. pycharm ——setting——interpreter(搜索) 4. 字符串一旦创建,不可更改…
unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际结果,检查程序的状态,生成测试报告. 且断言的话unittest框架很方便. 在这主要记录下setUp()和tearDown()这两个的问题,每次执行一个测试用例(test开头的方法),就会执行一次setUp()和tearDown(), 导致执行多个测试用例时,会反复的打开浏览器操作,这个很浪费时间…
我们测试中,肯定需要,打开一个页面,然后测试这个页面的多个用例,才关闭这个页面,去测试其他页面,在unittest是有相关测试固件方法去支持这种行为.请看下面 # coding=utf-8 import time import unittest from framework.browser_engine import BrowserEngine from pageobjects.baidu_homepage import HomePage class BaiduSearch(unittest.T…
背景 出游之后,朋友交换的照片格式大多是RAW格式,一些人想要JPG格式,但是百度云盘非会员的下载速度惨不忍睹,所以我想着通过微信群直接传(这个在事后也被证实不能完全解决问题,微信限制了每天传递文件的上限). 出游之后,交换的照片格式大多是RAW格式,一些朋友想要JPG,因为百度云盘非会员的下载速度惨不忍睹,且受限于微信单文件100M,所以写了个Python脚本直接转换图片并进行打包发送. 下面的这个是在此过程中写的Python脚本,完成RAW格式图片的转换,并根据文件大小创建文件夹(微信的单文…
只读:r rb(bytes类型数据) 只写:w wb(bytes类型数据) 在文件最后追加: f = open('log',mode='a',encoding='utf-8') f.write('这里填写的是追加的内容') f.close() # 清理内存中的内容 f = open('log',mode='ab') f.write('这里填写的是追加的内容'.encode('utf-8')) f.close() # 清理内存中的内容…
1.调用函数只会执行一次return,而且执行return后不会往下执行…
# coding:utf8from selenium import webdriverimport time # 创建一个ChromeOptions的对象option = webdriver.ChromeOptions()# option.add_argument('--user-data-dir=路径')option.add_argument(r'--user-data-dir=C:\Users\Administrator\AppData\Local\Google\Chrome\User Da…