코딩 (23) 썸네일형 리스트형 [파이썬] 파이썬으로 알리익스프레스(aliexpress) 상품 스크래핑(크롤링) 파이썬으로 알리익스프레스(aliexpress) 상품 스크래핑(크롤링) 도전 예전부터 알리익스프레스 상품 정보를 긁어와 달라고 부탁하는 분들이 많이 계셔서 가끔 작업을 하고는 했는데, 매번 할때마다 항상 작업 난이도는 최상급이었던 듯 하다. 알리익스프레스는 크롤링 방지를 위한 솔루션을 계속 고도화시키고 있는 것이 분명하다. 때문에 알리익스프레스를 크롤링할 수 있다면 그 사람의 실력은 거의 검증된 것으로 봐도 무방할 듯 하다. 아무튼 각설하고, 이번에는 순전히 재미로 크롤링에 도전해 보았다. 실력 점검 차원이기도 하고, 그동안 알리익스프레스의 기술이 얼마나 발전했는지 궁금하기도 했다. Selenium으로 크롤링 시도 우선은 가장 쉬운 selenium을 통한 자동화. 처음 몇번은 성공했지만, 3~4번부터는 막.. [파이썬] 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 파이썬, 머신러닝으로 네이버페이 키패드 인식 후 입력하기 요즘 간편결제가 활성화되면서 공인인증서나 복잡한 패스워드 없이 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.. [앱] 부동산 등기부 일괄열람 프로그램 ver 0.1 (2020.7.8) 프로그램 설명 대법원 인터넷 등기소에서 다량의 부동산 등기부를 열람하는 경우가 있는데, 현재 홈페이지에서는 일괄 열람 기능이 없어 하나하나 검색해서 선택하고 결제하는 불편함이 있습니다. 예를 들어 아파트 1동의 등기부를 전체 열람하고 싶은 경우 해당 아파트 동 호수 별로 일일이 검색 결과에서 선택해야 합니다. 1)검색어 입력 -> 2)조회 결과 확인 -> 3)대상 물건 선택 -> 4)열람 유형 선택 등 -> 5)결제 화면 동 프로그램은 다량의 조회결과에 대해 일괄 선택 및 결제가 가능하도록 이를 자동화(RPA, 브라우저 Automation)하여 지역 또는 건물 이름 입력만으로 연관된 부동산 등기부를 모두 선택 및 결제가 가능하므로, 이러한 불편함을 다소 해소할 수 있습니다. 주요기능 1. 브라우저 실행 .. [파이썬] 국회 의안정보시스템 스크래핑 국회 의안정보시스템(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.. [C#] 셀레니움(Selenium)에서 자바스크립트 코드 실행하기 Nuget 패키지 관리자에서 Selenium.WebDriver와 Selenium.Support를 설치한다. public IWebDriver driver; public IJavaScriptExecutor js; driver = new ChromeDriver(); js = (IJavaScriptExecutor)driver; this.js.ExecuteScript("javascript:console.log('안녕하세요');"); 이전 1 2 3 다음