'코딩' 카테고리의 글 목록
본문 바로가기

코딩23

[파이썬] AWS API Gateway와 Lambda로 Redirect URL 만들기 개발을 하다보면 간혹 url을 redirect할 필요가 생긴다. 예를 들어 애플리케이션을 배포할 경우 업데이트 페이지 url을 입력하게 되는데, 해당 url이 변경될 가능성이 있다고 하면 이를 나중에 수정할 수 있도록 할 필요가 있다. 단축 url을 제공하는 bit.ly 등 서비스의 경우 단축 url의 link를 나중에 변경할 수 있는 기능을 제공하는데, 이는 유료기능이라, 개인이 사용하기에는 조금 부담스러운 면이 있다. 이 때 AWS에서 제공하는 API Gateway와 Lambda로 간단히 Redirect URL을 만들면 간단히 해결 가능하다. 1. AWS Lambda 함수 생성 (Python) 2. 아래코드 입력 import json def lambda_handler(event, context): #.. 2022. 1. 8.
[파이썬] 파이썬으로 동행복권 로또 자동 구매 스크립트 파이썬으로 동행복권 로또 자동구매하기 올해 새해 다짐 중 하나로 로또를 매주 5천원씩 구매하는 것을 정했다. 실낱같은 확률이지만, 매주 가벼운 기대와 즐거움을 주는 것이 나쁘지 않은 듯해서 시도해보기로 하고, 이 참에 파이썬을 통해 동행복권 웹페이지에서 로또를 자동 구매하는 것을 만들어봤다. (그리고 우선 동행복권 사이트에서 1년치 구매할 금액인 30만원을 충전해두었다.) Playwright 라이브러리 설치 이 전에는 selenium을 주로 사용했지만, 최근에는 microsoft에서 만든 playwright 라이브러리가 사용하기가 간편하고 빠른 듯 해서 이번에는 playwright로 코드를 작성해보았다. playwright는 pip로 설치가 가능하고 설치후 install 커맨드를 입력해줘야 한다. pip.. 2022. 1. 2.
[파이썬] 쿠팡 API 사용시 401, Signature Expired 에러 해결방법 쿠팡 상품등록 또는 정보 변경시에 사용하는 API를 사용하기 위해서는 인증과정을 거쳐야 하는데, 그 과정에서 현재 시간 정보도 필요하게 된다. developers.coupang.com/hc/ko/articles/360033396034-Python-Example Python Example 1. Python POST Request Example 1) 상품생성 API import os import time import hmac, hashlib import urllib.parse import urllib.request import ssl import json os.environ['TZ'] = 'GMT+0' datetime=time.st... developers.coupang.com 아래는 쿠팡에서 제공하는 파이.. 2020. 11. 14.
[서비스] LAWSUIT 법원소송 관리 텔레그램 봇 오픈 LAWSUIT Monitor 텔레그램 봇으로 간편하게 소송관리! 소송 관련 업무를 하다보면 빈번하게 사건진행상황을 조회할 일이 생기는데, 이를 편리하게 관리할 수 있는 소송 관리프로그램이나 앱은 여러가지가 있으나, 개인이 이용하기에는 다소 부담스러운 가격이기도 하고, 불필요한 기능도 많이 포함되어 있어서, 간단하게 필요한 기능만 제공하는 텔레그램 봇을 제작하게 되었다. 아마, 혼자 사무실을 운영하는 변호사나 법무사 분들, 그리고 기업체에서 여러 소송사건을 관리하는 송무담당 직원분들에게 도움이 되지 않을까 생각된다. 기능은 매우 간단하다. 1) 소송사건 등록(모니터링 하루 4번) 2) 소송사건 삭제 3) 기일정보 조회 이렇게 3가지 기능을 제공한다. 현재 모든 기능은 무료이고, 등록할 수 있는 소송사건에 .. 2020. 10. 2.
[서비스] LAWSUIT Monitor 소송사건 관리 서비스 제작 중 LAWSUIT Monitor 소송사건 관리 서비스 제작 중 업무 등으로 소송사건들을 관리해야 할일이 종종 있는데, 제일 신경쓰이는 부분은 서류 송달 여부와 기일관리이다. 소송사건은 서류 송달시점을 기준으로 흘러가기 때문에 반드시 체크해야할 부분이고, 기일은 제일 중요한 부분이기 때문에 일정관리에 있어서 이 둘을 빼놓을 수가 없다. 그리고 서류 제출 여부, 법원 명령 등도 꾸준히 모니터링해야 하는데, 대법원 나의 사건검색 사이트는 캡챠로 인해 스크래핑을 제한하고 있어서, 단순히 웹스크래핑으로 이를 자동으로 긁어오기가 어렵다. 결국, 캡챠를 해결해야 서비스 개발이 가능한데, 머신러닝으로 이를 해결했다. [파이썬] 머신러닝으로 민원24 캡챠(Captcha) 뚫기 정부 민원24 홈페이지에 보면 비회원으로 증명서.. 2020. 9. 28.
[파이썬] 파이썬 Selenium과 Javascript를 사용한 웹 자동화 파이썬 Selenium과 Javascript를 사용한 웹 자동화 많이 알다시피 Selenium은 웹자동화를 위한 라이브러리이고, 파이썬 뿐만 아니라 여러가지 언어버전으로 라이브러리를 제공하고 있다. 그리고 크롬, 인터넷익스플로러 등을 지원하기 때문에 활용할 수 있는 분야가 많이 있는데, 특히 크롬과 사용시 활용도가 높다. 그리고 Selenium에서는 일반적인 브라우저 action과 Dom Element에 대한 접근 외에, Javascript 실행이 가능한 excute_script 메소드를 제공하는데, 이 메소드를 활용하면 일반적인 브라우저 action만으로 자동화하기 어려운 것들도 자동화가 가능하다. 예를 들어 페이지에 특정 element를 새로 만든다던가, 보이지 않게 숨긴다던가. javascript로.. 2020. 9. 24.
[파이썬] 파이썬 requests 사용시 [CERTIFICATE_VERIFY_FAILED] 경고 무시하는 방법 파이썬 requests CERTIFICATE_VERIFY_FAILED 경고 무시하는 법 파이썬에서 Requests 라이브러리를 통해서 웹페이지 스크래핑 작업을 하는 경우 종종 Fiddler를 통해서 패킷을 뜯어볼 일이 있는데 그럴 때마다 requests 라이브러리는 아래와 같은 에러를 발생시킨다. ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076) 간단하게는 "verify=False" 옵션을 통해서 무시할 수는 있지만, 이것도 귀찮을 때가 있다. 그리고 이렇게 하더라도 경고문구는 계속 발생하기 때문에 화.. 2020. 9. 20.
[웹] Html5 +JQuery로 무한반복 영상 플레이어(화면보호기) 제작 Html5 +JQuery로 무한반복 영상 플레이어(화면보호기) 제작 크롬브라우저에는 새탭을 열때마다 근사한 배경 영상들을 보여주는 UseDelight라는 꽤 유명한 확장 프로그램이 있다. 영상 수준이 괜찮아서 전체화면으로 해놓으면 화면보호기로도 쓸만하고 가만히 틀어놓고 감상하기에도 괜찮다. (웹 페이지로도 확인이 가능하다. usedelight.com) 다만, 보여지는 영상의 개수가 제한적이고 내가 원하는 영상을 선택하지 못한다는 점. 그리고 영상의 길이가 짧다는 단점이 있어서, 계속하여 틀어놓고 보기에는 다소 불편한 느낌이 든다. 특히 듀얼보니터로 작업시 한쪽 모니터에 힐링이 되는 멋진 영상을 틀어놓으면 기분전환이 되곤 하는데 UseDelight는 다소 아쉬운 점이 있다. 그래서 비슷한 걸 html과 c.. 2020. 9. 11.
[파이썬] 파이썬으로 알리익스프레스(aliexpress) 상품 스크래핑(크롤링) 파이썬으로 알리익스프레스(aliexpress) 상품 스크래핑(크롤링) 도전 예전부터 알리익스프레스 상품 정보를 긁어와 달라고 부탁하는 분들이 많이 계셔서 가끔 작업을 하고는 했는데, 매번 할때마다 항상 작업 난이도는 최상급이었던 듯 하다. 알리익스프레스는 크롤링 방지를 위한 솔루션을 계속 고도화시키고 있는 것이 분명하다. 때문에 알리익스프레스를 크롤링할 수 있다면 그 사람의 실력은 거의 검증된 것으로 봐도 무방할 듯 하다. 아무튼 각설하고, 이번에는 순전히 재미로 크롤링에 도전해 보았다. 실력 점검 차원이기도 하고, 그동안 알리익스프레스의 기술이 얼마나 발전했는지 궁금하기도 했다. Selenium으로 크롤링 시도 우선은 가장 쉬운 selenium을 통한 자동화. 처음 몇번은 성공했지만, 3~4번부터는 막.. 2020. 9. 5.
[파이썬] 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 요즘 간편결제가 활성화되면서 공인인증서나 복잡한 패스워드 없이 4~6자리 PIN 번호 입력만으로 결제가 되는 시스템이 활성화되고 있는 듯 하다. 하지만 단순히 번호를 입력하는 방식이 아니라, 화면을 보고 키패드를 누르는 방식이다 보니, 이를 자동화하는 것이 생각보다 쉽지가 않은 모양이다. 그래서 이번에는 머신러닝을 통해서 키패드를 인식하는 것을 한번 만들어보았다. 우선 아래 이미지는 PC에서 네이버페이를 통해서 결제를 할때 나타나는 PIN 입력 화면 창이다. 여기서 아래 초록색 키패드 부분의 숫자가 무작위로 정렬이 되는데, 이를 인식하여 마우스 등을 통해 클릭하게 하는 작업을 해볼까 한다. 작업 순서 1. 네이버페이 PIN입력 화면 크롤링 - 학습.. 2020. 9. 3.
[서버] 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.. 2020. 8. 20.
[파이썬] 머신러닝으로 캡챠(captcha) 뚫기 2편 (위메프 파트너) 관련글 : 머신러닝으로 민원24 캡챠(Captcha) 뚫기 이전에 머신러닝으로 민원24 캡챠를 뚫는 글을 쓴 적이 있었는데, 많은 분들이 문의를 주시고 답변을 해드리는 과정에서 생각보다 다양한 곳에서 캡챠를 사용하고 있고 그것때문에 고생하시는 분들이 많다는 것을 알게 되었다. 그리고 최근에 위메프 파트너스 사이트에도 캡챠가 적용이 되어서, 이 캡챠를 해결해 달라는 요청이 있었는데, 지금까지 정부사이트 캡챠와 형식은 동일하지만 영문알파벳까지 포함되어 있는 좀더 고도화된 캡챠를 사용하고 있었다. 알파벳이 포함되면.. 총 26개 글자가 더 늘어나니깐 기존 10개 숫자를 학습시킬 때 필요했던 데이터의 3.6배의 데이터가 필요하게 된다. (10+26=36) 그렇다는 말은 캡챠마다 레이블 붙여주는데 걸리는 시간의 .. 2020. 8. 17.
[파이썬] 코스피, 코스닥 전 종목 데이터 스크래핑 다음증권을 통한 데이터 수집 다음증권에서 업종별로 현재가 및 등락률 거래량, 외국인 지분율 등 시세를 제공하는데, 파이썬을 이용해서 전체 종목에 대한 시세 데이터를 스크래핑 할 수 있다. 파이썬 스크래핑 코드 아래는 파이썬의 requests 라이브러리와 pandas 라이브러리를 통해서 전체 업종 시세 데이터를 스크래핑 한뒤 CSV 파일로 저장하는 코드이다. 여기서 주의할 점은 업종별로 스크래핑 하다보니, 중복되는 종목이 일부 존재하는데, 이를 반드시 제거해주어야 한다. (아래 코드에 포함) import requests import pandas as pd headers = { "Host": "finance.daum.net", "Connection": "keep-alive", "Accept": "applic.. 2020. 8. 12.
[앱] 부동산 등기부 일괄열람 프로그램 ver 0.1 (2020.7.8) 프로그램 설명 대법원 인터넷 등기소에서 다량의 부동산 등기부를 열람하는 경우가 있는데, 현재 홈페이지에서는 일괄 열람 기능이 없어 하나하나 검색해서 선택하고 결제하는 불편함이 있습니다. 예를 들어 아파트 1동의 등기부를 전체 열람하고 싶은 경우 해당 아파트 동 호수 별로 일일이 검색 결과에서 선택해야 합니다. 1)검색어 입력 -> 2)조회 결과 확인 -> 3)대상 물건 선택 -> 4)열람 유형 선택 등 -> 5)결제 화면 동 프로그램은 다량의 조회결과에 대해 일괄 선택 및 결제가 가능하도록 이를 자동화(RPA, 브라우저 Automation)하여 지역 또는 건물 이름 입력만으로 연관된 부동산 등기부를 모두 선택 및 결제가 가능하므로, 이러한 불편함을 다소 해소할 수 있습니다. 주요기능 1. 브라우저 실행 .. 2020. 7. 8.
[파이썬] 국회 의안정보시스템 스크래핑 국회 의안정보시스템(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.. 2020. 7. 4.