Python 實現(xiàn)局域網(wǎng)遠程屏幕截圖案例
最近各地中小學都在開展線上教學,有些不自覺的小朋友們用電腦在線學習的時候會趁家長不在的時候偷偷玩游戲、看漫畫。
本程序screenshot.py就是用來監(jiān)控學生機(windows系統(tǒng))屏幕活動的一個小腳本。
首先在學生機上安裝python3環(huán)境。另外需要安裝pyautogui:
pip install pyautogui
學生機啟動后臺進程方法:在學生機上建立一個批處理文件,用無窗口python運行命令,以下根據(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
# 家長監(jiān)控地址: http://192.168.1.3:8009/
PORT = 8008
# 獲取學生機局域網(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') # 寫入HTTP 響應流文件
def main():
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#判斷當前端口是否已經(jīng)打開
result = sock.connect_ex((IP, PORT))
portopen = result == 0
sock.close()
if not portopen:
#啟動web服務器,用自定義的響應處理類
server = HTTPServer((IP, PORT), myHandler)
server.serve_forever() # 服務器持續(xù)監(jiān)聽
except:
pass
if __name__ == '__main__':
main()
WIFI環(huán)境下,在家長機器或手機瀏覽器中輸入下面的網(wǎng)址(假設學生機IP為192.168.1.3):
http://192.168.1.3:8008/
就可看到學生當前的屏幕活動。可刷新。
補充:python代碼實現(xiàn)截圖識字
有次網(wǎng)上down了個截圖實識的軟件,發(fā)現(xiàn)一天只能用10次要錢才能解鎖免費,很氣,作為一個菜雞怎么能忍受
于是自己用python寫了個簡單的小工具,分享給大家
代碼如下: 先安裝庫

from PIL import ImageGrab,Image
import keyboard #監(jiā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 這個看你用什么截圖,qq是個
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('請重新截圖')
else:
print('請使用qq截圖,小逗比(記得截圖后按enter)')
if __name__ == '__main__':
for _ in range(sys.maxsize):
seceenShot()
test = API.picture2Text(r'250.jpg')
print(test)
上述11,12,13的是百度云的工單賬號和密鑰,如圖下,自己可以注冊的免費

33行和34行是監(jiān)控鍵盤的
33行是開始截圖:ctrl+alt+a (這個看自己的截圖工具是什么鍵就換成什么)
34行是結(jié)束:enter (一定要按enter結(jié)束截圖)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
淺談插入排序算法在Python程序中的實現(xiàn)及簡單改進
這篇文章主要介紹了插入排序算法在Python程序中的實現(xiàn)及簡單改進,插入排序算法的最差時間復雜度為O(n^2),最優(yōu)時間復雜度為O(n),存在一定的優(yōu)化空間,需要的朋友可以參考下2016-05-05
python爬蟲之利用selenium+opencv識別滑動驗證并模擬登陸知乎功能
本文給大家介紹python爬蟲之利用selenium+opencv識別滑動驗證并模擬登陸知乎功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-09-09
python-pymysql如何實現(xiàn)更新mysql表中任意字段數(shù)據(jù)
這篇文章主要介紹了python-pymysql如何實現(xiàn)更新mysql表中任意字段數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
python taipy庫輕松地將數(shù)據(jù)和機器學習模型轉(zhuǎn)為功能性Web應用
taipy 是一個開源的 Python 庫,任何具有基本 Python 技能的人都可以使用,對于數(shù)據(jù)科學家、機器學習工程師和 Python 程序員來說,它是一個方便的工具,借助 Taipy,你可以輕松地將數(shù)據(jù)和機器學習模型轉(zhuǎn)變?yōu)楣δ苄缘?nbsp;Web 應用程序2024-01-01
python+Word2Vec實現(xiàn)中文聊天機器人的示例代碼
本文主要介紹了python+Word2Vec實現(xiàn)中文聊天機器人,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03
python基于watchdog庫全自動化監(jiān)控目錄文件
這篇文章主要介紹了python基于watchdog庫全自動化監(jiān)控目錄文件,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-03-03
tensorflow從ckpt和從.pb文件讀取變量的值方式
這篇文章主要介紹了tensorflow從ckpt和從.pb文件讀取變量的值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

