您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python 实现局域网远程屏幕截图案例

51自学网 2021-10-30 22:51:58
  python
这篇教程Python 实现局域网远程屏幕截图案例写得很实用,希望能帮到您。

最近各地中小学都在开展线上教学,有些不自觉的小朋友们用电脑在线学习的时候会趁家长不在的时候偷偷玩游戏、看漫画。

本程序screenshot.py就是用来监控学生机(windows系统)屏幕活动的一个小脚本。

首先在学生机上安装python3环境。另外需要安装pyautogui:

pip install pyautogui

学生机启动后台进程方法:在学生机上建立一个批处理文件,用无窗口python运行命令,以下根据你自己的python安装位置和脚本所在文件夹调整。。

c:/python37/pythonw.exe d:/py/screenshot.py 1>1.txt 2>2.txt

from http.server import BaseHTTPRequestHandler, HTTPServerimport pyautogui, socket# for windows, screenshot.py# 家长监控地址: http://192.168.1.3:8009/PORT = 8008# 获取学生机局域网地址IP = socket.gethostbyname(socket.gethostname())#windowsclass myHandler(BaseHTTPRequestHandler): def do_GET(self): img = pyautogui.screenshot() #屏幕截图 if img:  self.send_response(200) #HTTP 状态码  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) #判断当前端口是否已经打开 result = sock.connect_ex((IP, PORT)) portopen = result == 0 sock.close() if not portopen:  #启动web服务器,用自定义的响应处理类  server = HTTPServer((IP, PORT), myHandler)  server.serve_forever() # 服务器持续监听 except: passif __name__ == '__main__': main()

WIFI环境下,在家长机器或手机浏览器中输入下面的网址(假设学生机IP为192.168.1.3):

http://192.168.1.3:8008/

就可看到学生当前的屏幕活动。可刷新。

补充:python代码实现截图识字

有次网上down了个截图实识的软件,发现一天只能用10次要钱才能解锁免费,很气,作为一个菜鸡怎么能忍受

于是自己用python写了个简单的小工具,分享给大家

代码如下: 先安装库

from PIL import ImageGrab,Imageimport keyboard #监控键盘from time import sleepimport sysfrom aip import AipOcrclass 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行是监控键盘的

33行是开始截图:ctrl+alt+a (这个看自己的截图工具是什么键就换成什么)

34行是结束:enter (一定要按enter结束截图)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。


Python 启动时选择32位 或64位版的操作
如何用Python中Tushare包轻松完成股票筛选(详细流程操作)
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。