欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python寫個(gè)摸魚監(jiān)控進(jìn)程

 更新時(shí)間:2022年02月21日 14:18:28   作者:Python?技術(shù)  
繼打游戲、看視頻等摸魚行為被監(jiān)控后,現(xiàn)在打工人離職的傾向也會(huì)被監(jiān)控。今天就帶大家領(lǐng)略一下怎么寫幾行Python代碼,就能監(jiān)控電腦,感興趣的可以學(xué)習(xí)一下

繼打游戲、看視頻等摸魚行為被監(jiān)控后,現(xiàn)在打工人離職的傾向也會(huì)被監(jiān)控。

有網(wǎng)友爆料稱知乎正在低調(diào)裁員,視頻相關(guān)部門幾乎要裁掉一半。而在知乎裁員的討論區(qū),有網(wǎng)友表示企業(yè)安裝了行為感知系統(tǒng),該系統(tǒng)可以提前獲知員工跳槽念頭。

而知乎在否認(rèn)了裁員計(jì)劃的同時(shí),也聲明從未安裝使用過網(wǎng)上所說的行為感知系統(tǒng),今后也不會(huì)啟用類似軟件工具。

因?yàn)榇耸?,深信服被推上風(fēng)口浪尖,輿論關(guān)注度越來越高。

一時(shí)間,“打工人太難了”“毫無隱私可言”的討論層出不窮。

今天就帶大家領(lǐng)略一下怎么寫幾行 Python 代碼,就能監(jiān)控電腦。

監(jiān)控鍵盤

如果公司偷偷在我們的電腦上運(yùn)行了一個(gè)后臺(tái)進(jìn)程,來監(jiān)控我們的鍵盤事件,最簡單的 python 寫法大致是這樣的:

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()

隨意敲擊鍵盤,你就會(huì)從控制臺(tái)看到這樣的輸出:

代碼內(nèi)容就是兩個(gè)方法,一個(gè)是監(jiān)聽按鍵事件,另一個(gè)是監(jiān)聽退出事件——敲擊 ESC 按鍵后釋放就退出了。

監(jiān)控鼠標(biāo)

如果還要監(jiān)聽鼠標(biāo)事件,那么上這段代碼就行了:

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!')
 
 
# 定義鼠標(biāo)監(jiān)聽線程
with mouse.Listener(on_click=on_click) as listener:
    listener.join()

這段代碼主要是監(jiān)聽鼠標(biāo)的左右鍵點(diǎn)擊操作,運(yùn)行之后操作鼠標(biāo),就可以看到控制臺(tái)打印如下結(jié)果:

細(xì)心的你一定會(huì)發(fā)現(xiàn),每次點(diǎn)擊事件,都打印了兩次。這是因?yàn)榘聪潞退砷_都會(huì)觸發(fā)鼠標(biāo)事件。

記錄監(jiān)控日志

鍵盤事件和鼠標(biāo)事件都有了,是時(shí)候?qū)⒍呓Y(jié)合起來,把用戶的操作記錄到日志了。這里我們用 loguru 來記錄日志,這個(gè) python 模塊我們之前的文章也講過。

整個(gè)代碼如下:

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
 
 
# 定義鍵盤監(jiān)聽線程
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
 
 
# 定義鼠標(biāo)監(jiān)聽線程
def click_thread():
    with mouse.Listener(on_click=on_click) as listener:
        listener.join()
 
 
if __name__ == '__main__':
    # 起兩個(gè)線程分別監(jiān)控鍵盤和鼠標(biāo)
    t1 = Thread(target=press_thread())
    t2 = Thread(target=click_thread())
    t1.start()
    t2.start()

運(yùn)行之后,你就可以在同級(jí)目錄下的日志文件中,看到這樣的內(nèi)容了:

完整代碼

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@author: 閑歡
"""
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


# 定義鍵盤監(jiān)聽線程
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!')
        return False
    else:
        logger.debug('mid was pressed!')


# 定義鼠標(biāo)監(jiān)聽線程
def click_thread():
    with mouse.Listener(on_click=on_click) as listener:
        listener.join()


if __name__ == '__main__':
    # 起兩個(gè)線程分別監(jiān)控鍵盤和鼠標(biāo)
    t1 = Thread(target=press_thread())
    t2 = Thread(target=click_thread())
    t1.start()
    t2.start()

總結(jié)

本文主要通過 pynput 這個(gè) python 模塊講解一下怎么記錄鍵盤和鼠標(biāo)的操作。這幾行簡單的代碼對(duì)于監(jiān)控輸入密碼之類的簡單操作可以使用,但是對(duì)于聊天記錄之類的復(fù)雜語句,你還需要針對(duì)日志用 NLTK 語言處理,才能復(fù)原你的聊天記錄。

以上就是利用Python寫個(gè)摸魚監(jiān)控進(jìn)程的詳細(xì)內(nèi)容,更多關(guān)于Python摸魚監(jiān)控進(jìn)程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • tensorflow2.0教程之Keras快速入門

    tensorflow2.0教程之Keras快速入門

    這篇文章主要介紹了tensorflow2.0教程之Keras快速入門,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 詳解Python的爬蟲框架 Scrapy

    詳解Python的爬蟲框架 Scrapy

    這篇文章主要介紹了Python的爬蟲框架 Scrapy的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • python+ffmpeg視頻并發(fā)直播壓力測試

    python+ffmpeg視頻并發(fā)直播壓力測試

    這篇文章主要為大家詳細(xì)介紹了python+ffmpeg視頻并發(fā)直播壓力測試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python中類的繼承代碼實(shí)例

    Python中類的繼承代碼實(shí)例

    這篇文章主要介紹了Python中類的繼承代碼實(shí)例,本文直接給出代碼及運(yùn)行效果,需要的朋友可以參考下
    2014-10-10
  • python中關(guān)于tqdm的用法

    python中關(guān)于tqdm的用法

    這篇文章主要介紹了python中關(guān)于tqdm的用法及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python3中urlencode和urldecode的用法詳解

    Python3中urlencode和urldecode的用法詳解

    今天小編就為大家分享一篇Python3中urlencode和urldecode的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 詳解Python中元組的三個(gè)不常用特性

    詳解Python中元組的三個(gè)不常用特性

    元組是Python中一種重要的內(nèi)置數(shù)據(jù)類型。與列表一樣,我們經(jīng)常使用元組將多個(gè)對(duì)象保存為相應(yīng)的數(shù)據(jù)容器。本文為大家總結(jié)了元組的三個(gè)不常用特性,感興趣的小伙伴可以了解一下
    2022-07-07
  • Python PyYAML庫解析YAML文件使用詳解

    Python PyYAML庫解析YAML文件使用詳解

    這篇文章主要為大家介紹了Python PyYAML庫解析YAML文件使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Python 樹表查找(二叉排序樹、平衡二叉樹)

    Python 樹表查找(二叉排序樹、平衡二叉樹)

    本文并不會(huì)深入講解樹數(shù)據(jù)結(jié)構(gòu)的基本的概念,僅是站在使用的角度說清楚動(dòng)態(tài)查詢。閱讀此文之前,請(qǐng)預(yù)備一些樹的基礎(chǔ)知識(shí)。
    2023-01-01
  • Python enumerate函數(shù)遍歷數(shù)據(jù)對(duì)象組合過程解析

    Python enumerate函數(shù)遍歷數(shù)據(jù)對(duì)象組合過程解析

    這篇文章主要介紹了Python enumerate函數(shù)遍歷數(shù)據(jù)對(duì)象組合過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論