Python 實(shí)現(xiàn)局域網(wǎng)遠(yuǎn)程屏幕截圖案例
最近各地中小學(xué)都在開(kāi)展線(xiàn)上教學(xué),有些不自覺(jué)的小朋友們用電腦在線(xiàn)學(xué)習(xí)的時(shí)候會(huì)趁家長(zhǎng)不在的時(shí)候偷偷玩游戲、看漫畫(huà)。
本程序screenshot.py就是用來(lái)監(jiān)控學(xué)生機(jī)(windows系統(tǒng))屏幕活動(dòng)的一個(gè)小腳本。
首先在學(xué)生機(jī)上安裝python3環(huán)境。另外需要安裝pyautogui:
pip install pyautogui
學(xué)生機(jī)啟動(dòng)后臺(tái)進(jìn)程方法:在學(xué)生機(jī)上建立一個(gè)批處理文件,用無(wú)窗口python運(yùn)行命令,以下根據(jù)你自己的python安裝位置和腳本所在文件夾調(diào)整。。
c:\python37\pythonw.exe d:\py\screenshot.py 1>1.txt 2>2.txt
from http.server import BaseHTTPRequestHandler, HTTPServer import pyautogui, socket # for windows, screenshot.py # 家長(zhǎng)監(jiān)控地址: http://192.168.1.3:8009/ PORT = 8008 # 獲取學(xué)生機(jī)局域網(wǎng)地址 IP = socket.gethostbyname(socket.gethostname()) #windows class myHandler(BaseHTTPRequestHandler): def do_GET(self): img = pyautogui.screenshot() #屏幕截圖 if img: self.send_response(200) #HTTP 狀態(tài)碼 self.send_header('Content-Type', 'image/png') self.end_headers() img.save(self.wfile, 'PNG') # 寫(xiě)入HTTP 響應(yīng)流文件 def main(): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #判斷當(dāng)前端口是否已經(jīng)打開(kāi) result = sock.connect_ex((IP, PORT)) portopen = result == 0 sock.close() if not portopen: #啟動(dòng)web服務(wù)器,用自定義的響應(yīng)處理類(lèi) server = HTTPServer((IP, PORT), myHandler) server.serve_forever() # 服務(wù)器持續(xù)監(jiān)聽(tīng) except: pass if __name__ == '__main__': main()
WIFI環(huán)境下,在家長(zhǎng)機(jī)器或手機(jī)瀏覽器中輸入下面的網(wǎng)址(假設(shè)學(xué)生機(jī)IP為192.168.1.3):
http://192.168.1.3:8008/
就可看到學(xué)生當(dāng)前的屏幕活動(dòng)??伤⑿?。
補(bǔ)充:python代碼實(shí)現(xiàn)截圖識(shí)字
有次網(wǎng)上down了個(gè)截圖實(shí)識(shí)的軟件,發(fā)現(xiàn)一天只能用10次要錢(qián)才能解鎖免費(fèi),很氣,作為一個(gè)菜雞怎么能忍受
于是自己用python寫(xiě)了個(gè)簡(jiǎn)單的小工具,分享給大家
代碼如下: 先安裝庫(kù)
from PIL import ImageGrab,Image import keyboard #監(jiān)控鍵盤(pán) from time import sleep import sys from aip import AipOcr class API(): def picture2Text(filePath): API_ID = '######' API_KEY = '#######' SECRET_KEY = '######' aipocr = AipOcr(API_ID, API_KEY, SECRET_KEY) image = API.getFileContent(filePath) texts = aipocr.basicGeneral(image) allTexts = '' for words in texts['words_result']: allTexts = allTexts + ''.join(words.get('words','')) return allTexts # print(texts) def getFileContent(a): with open(a,'rb') as fp: return fp.read() def seceenShot(): '''用于獲取剪切板圖片信息并保存到本地''' #ctrl+alt+a 這個(gè)看你用什么截圖,qq是個(gè) if keyboard.wait(hotkey='ctrl+alt+a') == None: if keyboard.wait(hotkey='enter') == None: sleep(0.01) im_gray = ImageGrab.grabclipboard() # print(im_gray) if isinstance(im_gray,Image.Image): im_gray.save("250.jpg") else: print('請(qǐng)重新截圖') else: print('請(qǐng)使用qq截圖,小逗比(記得截圖后按enter)') if __name__ == '__main__': for _ in range(sys.maxsize): seceenShot() test = API.picture2Text(r'250.jpg') print(test)
上述11,12,13的是百度云的工單賬號(hào)和密鑰,如圖下,自己可以注冊(cè)的免費(fèi)
33行和34行是監(jiān)控鍵盤(pán)的
33行是開(kāi)始截圖:ctrl+alt+a (這個(gè)看自己的截圖工具是什么鍵就換成什么)
34行是結(jié)束:enter (一定要按enter結(jié)束截圖)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
淺談插入排序算法在Python程序中的實(shí)現(xiàn)及簡(jiǎn)單改進(jìn)
這篇文章主要介紹了插入排序算法在Python程序中的實(shí)現(xiàn)及簡(jiǎn)單改進(jìn),插入排序算法的最差時(shí)間復(fù)雜度為O(n^2),最優(yōu)時(shí)間復(fù)雜度為O(n),存在一定的優(yōu)化空間,需要的朋友可以參考下2016-05-05python爬蟲(chóng)之利用selenium+opencv識(shí)別滑動(dòng)驗(yàn)證并模擬登陸知乎功能
本文給大家介紹python爬蟲(chóng)之利用selenium+opencv識(shí)別滑動(dòng)驗(yàn)證并模擬登陸知乎功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-09-09python-pymysql如何實(shí)現(xiàn)更新mysql表中任意字段數(shù)據(jù)
這篇文章主要介紹了python-pymysql如何實(shí)現(xiàn)更新mysql表中任意字段數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05python taipy庫(kù)輕松地將數(shù)據(jù)和機(jī)器學(xué)習(xí)模型轉(zhuǎn)為功能性Web應(yīng)用
taipy 是一個(gè)開(kāi)源的 Python 庫(kù),任何具有基本 Python 技能的人都可以使用,對(duì)于數(shù)據(jù)科學(xué)家、機(jī)器學(xué)習(xí)工程師和 Python 程序員來(lái)說(shuō),它是一個(gè)方便的工具,借助 Taipy,你可以輕松地將數(shù)據(jù)和機(jī)器學(xué)習(xí)模型轉(zhuǎn)變?yōu)楣δ苄缘?nbsp;Web 應(yīng)用程序2024-01-01python+Word2Vec實(shí)現(xiàn)中文聊天機(jī)器人的示例代碼
本文主要介紹了python+Word2Vec實(shí)現(xiàn)中文聊天機(jī)器人,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python基于watchdog庫(kù)全自動(dòng)化監(jiān)控目錄文件
這篇文章主要介紹了python基于watchdog庫(kù)全自動(dòng)化監(jiān)控目錄文件,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03tensorflow從ckpt和從.pb文件讀取變量的值方式
這篇文章主要介紹了tensorflow從ckpt和從.pb文件讀取變量的值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05Pandas實(shí)現(xiàn)兩個(gè)表的連接功能的方法詳解
這篇文章主要和大家一起說(shuō)說(shuō)pandas的兩個(gè)表的連接技能merge,也就是根據(jù)一個(gè)表的條件去匹配另一個(gè)表的內(nèi)容,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-09-09