Python 实现局域网远程屏幕截图案例
最近各地中小学都在开展线上教学,有些不自觉的小朋友们用电脑在线学习的时候会趁家长不在的时候偷偷玩游戏、看漫画。
本程序screenshot.py就是用来监控学生机(windows系统)屏幕活动的一个小脚本。
首先在学生机上安装python3环境。另外需要安装pyautogui:
pipinstallpyautogui
学生机启动后台进程方法:在学生机上建立一个批处理文件,用无窗口python运行命令,以下根据你自己的python安装位置和脚本所在文件夹调整。。
c:\python37\pythonw.exed:\py\screenshot.py1>1.txt2>2.txt
fromhttp.serverimportBaseHTTPRequestHandler,HTTPServer importpyautogui,socket #forwindows,screenshot.py #家长监控地址:http://192.168.1.3:8009/ PORT=8008 #获取学生机局域网地址 IP=socket.gethostbyname(socket.gethostname()) #windows classmyHandler(BaseHTTPRequestHandler): defdo_GET(self): img=pyautogui.screenshot()#屏幕截图 ifimg: self.send_response(200)#HTTP状态码 self.send_header('Content-Type','image/png') self.end_headers() img.save(self.wfile,'PNG')#写入HTTP响应流文件 defmain(): try: sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #判断当前端口是否已经打开 result=sock.connect_ex((IP,PORT)) portopen=result==0 sock.close() ifnotportopen: #启动web服务器,用自定义的响应处理类 server=HTTPServer((IP,PORT),myHandler) server.serve_forever()#服务器持续监听 except: pass if__name__=='__main__': main()
WIFI环境下,在家长机器或手机浏览器中输入下面的网址(假设学生机IP为192.168.1.3):
http://192.168.1.3:8008/
就可看到学生当前的屏幕活动。可刷新。
补充:python代码实现截图识字
有次网上down了个截图实识的软件,发现一天只能用10次要钱才能解锁免费,很气,作为一个菜鸡怎么能忍受
于是自己用python写了个简单的小工具,分享给大家
代码如下:先安装库
fromPILimportImageGrab,Image importkeyboard#监控键盘 fromtimeimportsleep importsys fromaipimportAipOcr classAPI(): defpicture2Text(filePath): API_ID='######' API_KEY='#######' SECRET_KEY='######' aipocr=AipOcr(API_ID,API_KEY,SECRET_KEY) image=API.getFileContent(filePath) texts=aipocr.basicGeneral(image) allTexts='' forwordsintexts['words_result']: allTexts=allTexts+''.join(words.get('words','')) returnallTexts #print(texts) defgetFileContent(a): withopen(a,'rb')asfp: returnfp.read() defseceenShot(): '''用于获取剪切板图片信息并保存到本地''' #ctrl+alt+a这个看你用什么截图,qq是个 ifkeyboard.wait(hotkey='ctrl+alt+a')==None: ifkeyboard.wait(hotkey='enter')==None: sleep(0.01) im_gray=ImageGrab.grabclipboard() #print(im_gray) ifisinstance(im_gray,Image.Image): im_gray.save("250.jpg") else: print('请重新截图') else: print('请使用qq截图,小逗比(记得截图后按enter)') if__name__=='__main__': for_inrange(sys.maxsize): seceenShot() test=API.picture2Text(r'250.jpg') print(test)
上述11,12,13的是百度云的工单账号和密钥,如图下,自己可以注册的免费
33行和34行是监控键盘的
33行是开始截图:ctrl+alt+a(这个看自己的截图工具是什么键就换成什么)
34行是结束:enter(一定要按enter结束截图)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。