ดูหน้าจอในหน่วยงานด้วย python capture screen
เคยรึป่าวครับที่หัวหน้าแผนกอื่นเดินมาถามว่า ลูกน้องตัวเองมัวแต่เล่นเกม แต่จับผิดไม่ได้สักที (คงแค่อยากเตือนนั่นล่ะ) วันนี้ผมขอเสนอ pyautogui ทาาาาด๊าาาาาาา
แนวคิด
- ให้ Task Scheduler ทำงานตามเวลาที่กำหนด
- ส่วนใน python ก็มีหน้าที่ screen capture แล้ว post data ไปที่เว็บเซิฟเวอร์ในองค์กรของเรา
- เราหรือหัวหน้าหน่วยก็เปิดดูตาม url ที่สร้างไว้
ตัวอย่าง Code
import pyautogui
import os
import requests
import socket
computername = os.environ['COMPUTERNAME']
dirPath = os.path.dirname(os.path.realpath(__file__))
testIp = socket.gethostbyname(socket.gethostname())
fullNamePath = dirPath+'/'+testIp+'_'+computername+'.png'
im2 = pyautogui.screenshot(fullNamePath)
url = 'http://127.0.0.1/screen/save.php'
files = {'media': open(fullName, 'rb')}
data = requests.post(url, files=files)
ข้อมูลในตัวอย่างนี้ fullNamePath ก็จะเป็นชื่อเครื่อง(ก็น่าจะเป็นหลักฐานเพียงพอแล้ว) แล้วก็มีไอพีเสริมเข้าไปอีก ถ้าอยากได้ข้อมูลอื่นๆ ก็สามารถใส่เพิ่มเติมเข้าไปได้ จากนั้นก็เซฟเป็น .png แล้วค่อยส่ง requests.post ไปตามนั้น
ฝั่งเซิฟเวอร์ในตัวอย่างนี้เป็น php ก็จะรับค่ามาเป็น $file = $_FILES['media']; จากนั้นจะเอาไปทำอะไรต่อก็ตามใจเราเลยจ้า ส่วนการแปลง.py เป็น .exe ก็ตามลิ้งด้านล่าง
รูปตัวอย่างเฉยๆ |
จากนั้นเราก็มาเซ็ตใน Task Scheduler ในแท็บ Action ตรง Program/script ตรงนี้ก็เลือกเป็น .exe ที่เราได้สร้างขึ้นมา เป็นอันเสร็จเรียบร้อย
Ref.
Comments
Post a Comment