Rumah >pembangunan bahagian belakang >Tutorial Python >Tulis program pemantauan komputer dalam Python
Susulan pemantauan aktiviti memancing seperti bermain game dan menonton video, kecenderungan pekerja untuk meninggalkan pekerjaan mereka juga akan dipantau. Baru-baru ini beberapa netizen berkata bahawa syarikat mereka telah memasang sistem pengesan tingkah laku, yang boleh mengetahui terlebih dahulu niat pekerja untuk menukar pekerjaan.
Untuk sementara waktu, terdapat perbincangan yang tidak berkesudahan tentang "terlalu sukar untuk bekerja sebagai pekerja" dan "tiada privasi langsung".
Sesetengah rakan bertanya: Adakah pemantauan seperti ini boleh dilaksanakan secara teknikal? Kompleks? Hari ini saya akan menunjukkan kepada anda cara menggunakan beberapa baris kod Python untuk memantau operasi pada komputer anda.
Jika syarikat secara rahsia menjalankan proses latar belakang pada komputer kami untuk memantau acara papan kekunci kami, kaedah penulisan ular sawa yang paling mudah adalah lebih kurang seperti ini:
from pynput import keyboard def on_press(key): print(f'{key} :pushed') def on_release(key): if key == keyboard.Key.esc: return False with keyboard.Listener(on_press=on_press, on_release=on_release) as lsn: lsn.join()
Ketik papan kekunci sesuka hati, dan anda akan melihat output ini daripada konsol:
Kandungan kod ialah dua kaedah, satu ialah mendengar peristiwa penting dan yang satu lagi adalah untuk mendengar acara keluar - tekan kekunci ESC
dan lepaskannya untuk keluar.
Jika anda masih mahu memantau acara tetikus, maka tambah sahaja kod ini:
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!') # 定义鼠标监听线程 with mouse.Listener(on_click=on_click) as listener: listener.join()
Kod ini terutamanya untuk memantau klik kiri dan kanan operasi tetikus , selepas berjalan, kendalikan tetikus, dan anda boleh melihat hasil berikut dicetak pada konsol:
Jika anda berhati-hati, anda pasti akan mendapatinya setiap peristiwa klik dicetak dua kali. Ini kerana kedua-dua menekan dan melepaskan peristiwa tetikus pencetus.
Memandangkan terdapat acara papan kekunci dan acara tetikus, tiba masanya untuk menggabungkan kedua-duanya dan merekodkan operasi pengguna dalam log. Di sini kami menggunakan modul loguru untuk merekod log.
Keseluruhan kod adalah seperti berikut:
from pynput import keyboard, mouse from loguru import logger from threading import Thread # 定义日志文件 logger.add('moyu.log') def on_press(key): logger.debug(f'{key} :pushed') def on_release(key): if key == keyboard.Key.esc: return False # 定义键盘监听线程 def press_thread(): 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!') else: return False # 定义鼠标监听线程 def click_thread(): with mouse.Listener(on_click=on_click) as listener: listener.join() if __name__ == '__main__': # 起两个线程分别监控键盘和鼠标 t1 = Thread(target=press_thread()) t2 = Thread(target=click_thread()) t1.start() t2.start()
Selepas dijalankan, anda boleh melihat kandungan berikut dalam fail log dalam direktori yang sama:
Artikel ini terutamanya menggunakan modul python pynput
untuk menunjukkan cara merakam operasi papan kekunci dan tetikus. Baris kod ringkas ini boleh dilaksanakan untuk pemantauan input mudah, tetapi untuk pernyataan kompleks seperti rekod sembang, anda masih perlu menggunakan pemprosesan bahasa NLTK untuk log memulihkan rekod sembang anda.
Sudah tentu, kami hanya membincangkan kemungkinan teknikal di sini. Tolong jangan lakukan apa-apa yang merosakkan privasi orang lain. Selain itu, dengan kod ini sahaja, orang lain akan melihat sepintas lalu bahawa terdapat operasi rakaman program...
Atas ialah kandungan terperinci Tulis program pemantauan komputer dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!