본문 바로가기

파이썬

스크린 캡쳐 프로그램

가끔씩 업무적으로 스크린 캡쳐 프로그램이 필요할 때가 있다.

그런데 무료 스크린 캡쳐 프로그램은 보통 광고가 붙거나 무겁다는 생각이 많이 들었다.

원리가 그렇게 복잡하지 않을 것 같아서,,,

 

내가 시험삼아 한번 파이썬으로 만들어 봤다!ㅎㅎ

 

부족하지만 응용해서 필요한 사람들에게 도움되길 바라며,

저도 취미와 재미로 배우는 입장이라 코드에 피드백 주시면 감사하겠습니다^^;

 

import pyautogui, subprocess
import time
import numpy as np
import matplotlib.pyplot as plt

p=5
rows=64
cols=300
s=pyautogui.size()
time.sleep(3)

x=np.zeros((rows, 1920, 3), dtype=np.uint8)

for i in range(0, p) :
    img=pyautogui.screenshot()
    img=np.array(img, dtype=np.uint8)
    for j in range(0, img.shape[0]-rows) :
        if (x[-rows:,cols:-cols,:]==img[j:j+rows,cols:-cols,:]).all() :
            print(j)               
            img=img[j+rows+1:,:,:]
            break
    x=np.concatenate([x, img[:-100,:,:]], axis=0)    
    pyautogui.press('pagedown')
    time.sleep(0.5)

plt.imsave('test.jpg', x[rows:,:,:])

 

사용을 위해 먼저 Python 프로그램과 라이브러리 모듈(pyautogui, subprocess, numpy, matplotlib)을 설치해야겠죠!

그런 다음 위 파이썬 코드를 실행시키고,

3초 내 스크린 캡쳐할 웹페이지를 마우스 클릭으로 활성화시킨 후 대기하면 OK~!!!

아래와 같이 잘 켭쳐 됩니다^^;

혹시 잘 안되는 웹페이지는 위 설정값을 조정하면 정상적으로 동작합니다! 

 

다음 캡쳐 화면