본문 바로가기

반응형

코딩/파이썬(Python)

(14)
[파이썬] 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 요즘 간편결제가 활성화되면서 공인인증서나 복잡한 패스워드 없이 4~6자리 PIN 번호 입력만으로 결제가 되는 시스템이 활성화되고 있는 듯 하다. 하지만 단순히 번호를 입력하는 방식이 아니라, 화면을 보고 키패드를 누르는 방식이다 보니, 이를 자동화하는 것이 생각보다 쉽지가 않은 모양이다. 그래서 이번에는 머신러닝을 통해서 키패드를 인식하는 것을 한번 만들어보았다. 우선 아래 이미지는 PC에서 네이버페이를 통해서 결제를 할때 나타나는 PIN 입력 화면 창이다. 여기서 아래 초록색 키패드 부분의 숫자가 무작위로 정렬이 되는데, 이를 인식하여 마우스 등을 통해 클릭하게 하는 작업을 해볼까 한다. 작업 순서 1. 네이버페이 PIN입력 화면 크롤링 - 학습..
[서버] Centos6에 python3.6, OpenCV 설치하기 Centos6에서는 기본적으로 파이썬2.7 버전이 설치되어 파이썬3를 설치하기 위해서는 별도의 작업이 필요하다. 아마도 아래 코드는 Centos7과 Centos8에서도 동일하게 사용이 가능할 것으로 생각된다. 파이썬 3.6 설치 아래 코드에서 파일명 등에 붙어 있는 버전을 변경하면 다른 버전의 파이썬도 설치 가능하다. (다만, 경우에 따라서 pip를 통한 라이브러리 설치 시 ssl 모듈 에러를 발생시키기도 하기 때문에 추천하지는 않는다.) yum -y install gcc openssl-devel bzip2-devel wget opencv wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz tar xzf Python-3.6.6.tgz cd Pyt..
[파이썬] 머신러닝으로 캡챠(captcha) 뚫기 2편 (위메프 파트너) 관련글 : 머신러닝으로 민원24 캡챠(Captcha) 뚫기 이전에 머신러닝으로 민원24 캡챠를 뚫는 글을 쓴 적이 있었는데, 많은 분들이 문의를 주시고 답변을 해드리는 과정에서 생각보다 다양한 곳에서 캡챠를 사용하고 있고 그것때문에 고생하시는 분들이 많다는 것을 알게 되었다. 그리고 최근에 위메프 파트너스 사이트에도 캡챠가 적용이 되어서, 이 캡챠를 해결해 달라는 요청이 있었는데, 지금까지 정부사이트 캡챠와 형식은 동일하지만 영문알파벳까지 포함되어 있는 좀더 고도화된 캡챠를 사용하고 있었다. 알파벳이 포함되면.. 총 26개 글자가 더 늘어나니깐 기존 10개 숫자를 학습시킬 때 필요했던 데이터의 3.6배의 데이터가 필요하게 된다. (10+26=36) 그렇다는 말은 캡챠마다 레이블 붙여주는데 걸리는 시간의 ..
[파이썬] 코스피, 코스닥 전 종목 데이터 스크래핑 다음증권을 통한 데이터 수집 다음증권에서 업종별로 현재가 및 등락률 거래량, 외국인 지분율 등 시세를 제공하는데, 파이썬을 이용해서 전체 종목에 대한 시세 데이터를 스크래핑 할 수 있다. 파이썬 스크래핑 코드 아래는 파이썬의 requests 라이브러리와 pandas 라이브러리를 통해서 전체 업종 시세 데이터를 스크래핑 한뒤 CSV 파일로 저장하는 코드이다. 여기서 주의할 점은 업종별로 스크래핑 하다보니, 중복되는 종목이 일부 존재하는데, 이를 반드시 제거해주어야 한다. (아래 코드에 포함) import requests import pandas as pd headers = { "Host": "finance.daum.net", "Connection": "keep-alive", "Accept": "applic..
[파이썬] 국회 의안정보시스템 스크래핑 국회 의안정보시스템(http://likms.assembly.go.kr/bill/main.do)에는 발의된 법안과 진행상황에 대한 정보가 실시간으로 올라오는데, 이를 스크래핑하는 코드를 짜보았다. 밑의 코드는 AWS Lambda에서 돌아가도록 코드를 작성한 것이고, 각자 상황에 맞춰서 일부 수정하면 될 듯 하다. import requests from bs4 import BeautifulSoup import boto3 def cleaner(msg) : msg = msg.replace("\t","") msg = msg.replace("\r","") msg = msg.replace("\n","") return msg.strip() def handler(event, context) : dynamodb = boto..
[파이썬] 머신러닝으로 민원24, 대법원 캡챠(Captcha) 뚫기 민원24 등 정부캡챠 정부 민원24 홈페이지에 보면 비회원으로 증명서 등 열람을 하기 위해서는 캡챠 입력이 필요하다. 업무 자동화를 하다보면, 번번히 마주치는게 캡챠이긴 한데, 민원24의 캡챠는 OCR이 어려워서 까다로운 편이긴 하다. 그래서 이번에 머신러닝으로 민원24 캡챠의 숫자를 인식하는 알고리즘을 만들어봤다. 데이터셋 수집 우선은 데이터셋이 필요하니, 캡챠 이미지를 크롤링을 통해서 500개 정도 수집을 하고, 하나씩 모두 직접 맞는 숫자를 이미지 파일 이름을 입력해주었다. (노가다.....) 이미지 전처리 그리고 그다음 모델의 정확도를 높이기 위해서 이미지 전처리가 필요하다. 다행히 글자에 반전이 있다거나 투명도가 다르다거나 하는 복잡한 형태가 아니라서, 그냥 회색으로 변환한 다음 흰색(255) ..

반응형