PYTHON

파이썬 라이브러리

 

  1. tesseract
  2. pyautogui
  3. pyinstaller
  4. csv
  5. selenium

 

 


 

1. tesseract

 

# tesseract (github)
https://github.com/tesseract-ocr

 

# 파이썬 Python 코딩 – tesseract OCR 이미지에서 텍스트 추출
https://www.youtube.com/watch?v=rNxMwtottmM

 

# Tesseract로 OCR 하기 (joyhong tistory)
https://joyhong.tistory.com/79

 

# 윈도우용 tesseract 설치 파일 다운로드
https://github.com/UB-Mannheim/tesseract/wiki

– 설치 할 때 Additional language data 에서 Korean 체크

 

# 더 나은 샘플 데이터 2개 받기
https://github.com/tesseract-ocr/tessdata

– kor.traineddata, kor_vert.traineddata
– C:\Program Files\Tesseract-OCR\tessdata 폴더에 복사

 

# 파이썬 pytesseract 설치
pip install pytesseract

 

# 파이썬 pillow 설치
pip install pillow

 

from PIL import Image
import pytesseract

pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
text = pytesseract.image_to_string(Image.open("image.png"), lang="kor")
print(text)
print(text.replace(" ", ""))

with open("image.txt", "w", encoding="utf8") as f:
    f.write(text)
    f.write("\n\n\n")
    f.write(text.replace(" ", ""))

 

 

 


 

2. pyautogui

 

# PyAutoGUI’s documentation
https://pyautogui.readthedocs.io/en/latest/index.html

 

# 파이썬 pyautogui 매크로 프로그램 만들기 / 마우스 키보드 자동화 | 파이썬 기초 강의
https://www.youtube.com/watch?v=zl8yTv69jmk

 

# 설치하기
pip install pyautogui

 

# numpy 에서 오류 나면 버전을 내려라 (fails to pass a sanity check due to a bug in the windows runtime)
pip install numpy==1.19.3

https://stackoverflow.com/questions/64654805/how-do-you-fix-runtimeerror-package-fails-to-pass-a-sanity-check-for-numpy-an

 

# opencv 설치
pip install opencv-python

 

import pyautogui

# 마우스 커서의 좌표 얻기
i = pyautogui.position()
print(i)

# 지정한 좌표로 이동
pyautogui.moveTo(1045, 655)

# 지정한 좌표로 1초 동안에 걸쳐서 이동
pyautogui.moveTo(1045, 655, 1)


# 현재 좌표에서 y축으로 300만큼 1초 동안에 걸쳐서 이동
pyautogui.moveRel(0, 300, 1)

# 현재 좌표에서 x축으로 300만큼 1초 동안에 걸쳐서 이동
pyautogui.moveRel(300, 0, 1)


# 클릭 2번, 간격은 2초 (클릭 후 2초 후 또 클릭)
pyautogui.click(clicks=2, interval=2)

# 더블클릭
pyautogui.click(clicks=2)
pyautogui.doubleClick()

# Hello 입력
pyautogui.typewrite('Hello')

# 키 하나씩 입력 (대괄호 이용)
pyautogui.typewrite(['1', '2', '3', 'enter'])

# 'abc' 이렇게 쓰면 안됨, 키 한개씩 입력해야 함
pyautogui.typewrite(['123', 'enter']) # 실패

 

 

 

 

 

import pyautogui


# 마우스 좌표 얻기
print(pyautogui.position())

# 마우스 이동
pyautogui.moveTo(x=43, y=114)

# 마우스 클릭
pyautogui.click(x=43, y=114)


 

# opencv 이용

import pyautogui

# 이미지 파일의 위치를 화면에서 찾기
#i = pyautogui.locateOnScreen('y.png')

# 이미지 파일의 중심 좌표 얻기
center = pyautogui.center(i)

# 클릭
pyautogui.click(center)

# 이미지의 중심 좌표 바로 얻기
center = pyautogui.locateCenterOnScreen('y.png')

# 클릭
pyautogui.click(center)

 

 

import pyautogui

# 계산기의 숫자 1의 위치를 스크린샷으로 저장
pyautogui.screenshot('1.png', region=(1045, 655, 30, 30))

num1 = pyautogui.locateCenterOnScreen('1.png')
pyautogui.click(num1)

 

# 파이썬 pyautogui 메세지박스(Message Box) 사용방법 – GUI(그래픽 유저 인터페이스)로 입력받기
https://www.youtube.com/watch?v=3Uzj7Axfrxg

import pyautogui

# btn_1 = pyautogui.alert(button='AAA',text='aaa',title='title')
# print(btn_1)
# print(type(btn_1))

# btn_2 = pyautogui.confirm(text='테스트',title='TITLE',buttons=['1','2','3','4','5'])
# print(btn_2)

# btn_3 = pyautogui.prompt(title='TITLE',default='여기에 쓰세요.',text='텍스트')
# print(btn_3)

btn_4 = pyautogui.prompt('password','비밀번호를 입력하세요.')
# print(type(btn_4))
if btn_4 == '12345':
    print('OK')
else:
    print('누구냐 넌!')

 

 

 

 

 


 

3. pyinstaller

 

# 설치
pip install pyinstaller

 

# 콘솔창 안 뜨게
pyinstaller -w main.py

 

# 콘솔창 안 뜨게하고 실행파일 하나만 만들기
pyinstaller -w -F main.py

– dist 폴더에 실행 파일 한개가 만들어진다.

 


 

 4. csv

 

# 파이썬 기본 패키지

 

import csv

f = open('sample.csv','a',encoding='utf-8', newline='')
wr = csv.writer(f)
# wr.writerow([1,2,3])
wr.writerows([['123','2123','313231'],[4,5,6],[7,8,9]])
f.close()

f = open('sample.csv','r',encoding='utf-8')
rd = csv.reader(f)
# print(rd)
for i in rd:
    print(i)
    print(type(i))
f.close()

 

 


 

5. selenium

 

# 파이썬 자동화 셀레니움(selenium) webdriver와 actionchains으로 웹사이트 매크로 제작 (youtube)
https://www.youtube.com/watch?v=2EBrICPZVLY

 

# 설치
pip install selenium

 

# chromedriver 다운로드
https://chromedriver.chromium.org/downloads

 

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

import time

driver = webdriver.Chrome()
url = 'https://google.com'
driver.get(url)
driver.maximize_window()
action = ActionChains(driver)

driver.find_element_by_css_selector('#gb_70').click()

action.send_keys('본인아이디').perform()
action.reset_actions()
driver.find_element_by_css_selector('.CwaK9').click()

time.sleep(2)
driver.find_element_by_css_selector('.whsOnd.zHQkBf').send_keys('본인비밀번호')
driver.find_element_by_css_selector('.CwaK9').click()
time.sleep(2)

driver.get('https://mail.google.com/mail/u/0/?ogbl#inbox')
time.sleep(2)

driver.find_element_by_css_selector('.T-I.J-J5-Ji.T-I-KE.L3').click()
time.sleep(1)

send_buton = driver.find_element_by_css_selector('.gU.Up')

(
action.send_keys('보낼메일주소').key_down(Keys.ENTER).pause(2).key_down(Keys.TAB)
.send_keys('제목입니다.').pause(2).key_down(Keys.TAB)
.send_keys('abcde').pause(2).key_down(Keys.ENTER)
.key_down(Keys.SHIFT).send_keys('abcde').key_up(Keys.SHIFT).pause(2)
.move_to_element(send_buton).click()
.perform()
)

 

 

 

Related posts

Leave a Comment