使用Python实现自动化截取Windows系统屏幕
自动化截屏有什么用呢?为什么要实现自动化截屏呢?其实,在某些特殊的场景下,记录电脑使用者的操作还是很有必要的。比如,银行记录柜员日常操作当作日后规范流程的数据,或者是日后存证;再比如,作为家长记录孩子使用电脑的情况等。
- 截屏功能的实现
Python有个第三方模块叫做PIL(Python 3中PIL停止开发,fork了一个新分支叫Pillow来支持Py3),是用来进行图像处理的,比如,改变图片颜色,进行图片缩放,图片裁剪等等基本图片操作。巧的是,它就包含一个截屏的功能,而且使用起来非常简单,两三行代码即可搞定:
im = ImageGrab.grab() im.save('path-to-save','png')
不巧的是,它只支持Windows和Mac系统,Linux下面却不能用
- 自动化不间断截屏
有了上面简洁的截屏功能,我们可以把它打包成一个简单的函数叫做make_shot(),每次截屏存储为当前时间命名的图片,一天24小时不间断截屏。
import time def main(): while 1: make_shot() time.sleep(60) # 60秒截一次屏 # 这里可以把截屏信息存入数据库,方便日后统计 # 还可以增加一些图像处理算法,自动分析截屏
版权申明:若没有特殊说明,文章皆是猿人学原创,没有猿人学授权,请勿以任何形式转载。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python lxml获取和设置inner html
Python的lxml是一个相当强悍的解析html、XML的模块,最新版本支持的python版本从2.6到3.6,是写爬虫的必备利器。它基于C语言库libxml2 和 libxslt,进行了Python范儿(Pythonic)的绑定,成为一个具有丰富特性又容易使用的Python模块。虽然特性丰富,但是它在修改数节点时又缺少了些接口,比如本文讲到的获取 inner html 和 设置(修改)inner html功能。 解析网页的html一般使用lxml.html模块,步骤很简单分三步走: (1) 导入模块: import lxml.html (2) 把html转换为html document 树,根节点就是标签: doc = lxml.html.fromstring(html) (3) 使用xpath查找要提取的节点: nodes = doc.xpath('//div[@class, 'the']/div[@id, 'xpath']') 以上三步分成简洁,实际使用中,可能要反复第三部,通过不同的xpath获得不同的节点进行数据提取。 可以说,lxml解析(只读模式)html的功能又强大又...
- 下一篇
熟练掌握Python的内置函数,加快编程速度
内置函数概览 Python 2.7 的所有内置函数共有80个。熟练记住和使用这些内置函数,将大大提高写Python代码的速度和代码的优雅程度。 以下代码示例用的是ipython,一个比官方解释器好很多的解释器,值的学习和使用。 数学相关的内置函数 abs(x) 返回一个数字的绝对值 In [18]: abs(3.14) Out[18]: 3.14 In [19]: abs(-3.14) Out[19]: 3.14 complex(real[, imag]) 生成一个复数 In [135]: complex(1,3) Out[135]: (1+3j) divmod(x, y) 返回x除以y的商和余数 In [143]: divmod(12, 7) Out[143]: (1, 5) max(iterable[, key]) 返回一个序列的最大元素 In [157]: max([(1,2,3), (4,5,6), (23,4,1,)], key=lambda a: a[-1]) Out[157]: (4, 5, 6) In [158]: max(1,2,3,4,4,5) Out[158]: ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装Docker,最新的服务器搭配容器使用
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路