NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 쇼핑몰 매크로 제작하기. (NGM, Python, Web, Selenium)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 제목에는 쇼핑몰 매크로 만들기라고 되어 있지만~ 사실, 엔지엠 매크로를 가지고 있으면 웹크롤링이나 웹스크레이퍼등등... 다양한 업무들을 자동화할 수 있습니다. 범용 RPA 제작 도구인 엔지엠 에디터에는 웹 및 데이타베이스, 엑셀등등... 대부분의 자동화 기능이 포함되어 있습니다. 코딩을 몰라도 누구나 쉽게 RPA 업무 자동화 매크로를 제작할 수 있습니다.

    692LI9R.png

     

     

    쇼핑몰 관리 업무가 어느정도 익숙해지면 약간의 센스와 분석정도외에는 대부분 반복적인 작업이 대다수입니다. 이런 단순 반복작업을 오랜시간 지속하다보면 당연히 지치기도 하고, 지루함이 커져서 의욕도 사라지게 합니다. 굳이 코딩강좌나 프로그래밍 강좌를 들을 필요는 없지만, 파이썬 관련 내용은 알아두면 도움이 되기도 합니다. 오랜 시간동안 사랑받아온 오토핫키가 간단한 업무는 더 좋을수도 있을거 같네요. 하지만, 코딩을 배울 시간과 여유가 없다면 엔지엠 매크로가 가장 좋은 선택일겁니다. 커뮤니티도 잘되어 있고 문제 해결을 위해 고객 단톡방이 따로 있으니까요. 거의 실시간으로 질문과 답변을 받아볼 수 있습니다.

    [ 네이버 연관 검색어 크롤링 예제 ]

     

    웹 업무 자동화 매크로는 주로 셀레니움(Selenium)을 사용합니다. 이외에도 Beautifulsoup이나 Agility등등이 사용됩니다. 엔지엠 매크로는 자동화 도구다보니 별도로 개발 환경을 구성할 필요는 없습니다. 하지만, 오토핫키나 파이썬의 경우 개발 환경을 미리 갖춰놓고 코딩을 시작해야 합니다. 우선, 파이썬에서 셀레니움을 설치 해볼까요? Visual Studio Code를 실행하고, 터미널에 아래 명령으로 셀레니움을 설치하세요.

    pip install selenium

    1TspI60.png

     

     

    셀레니움을 사용하기 위해선 웹브라우저의 드라이버가 필요합니다. 대표적으로 구글 크롬이 사용되지만, 아래 그림과 같이 파이어폭스와 인터넷 익스플로러 또는 엣지를 사용할수도 있습니다. 윈도우 11에서는 인터넷 익스플로러가 완전히 사라져서... 더이상 지원이 없을거 같긴합니다. 크롬을 사용하는게 시간을 절약하는데 도움이 될거 같습니다. 아무래도 많은 사람들이 사용하는게 참고할만한 자료도 많고, 도움을 받기도 쉽기 때문입니다^^; 아래 예제는 웹서비스를 이용해서 주식 또는 비트코인 호가와 매매가를 가져와서 자동으로 매도/매수할 수 있는 방법을 설명하고 있습니다.

    [ 주식 또는 선물, 비트코인 실시간 자동 매매 예제 ]

    FzuAATW.png

     

     

    엔지엠 매크로에서는 위 그림과 같이 브라우저에 연결할 액션 하나만 추가하면 되지만, 파이썬에서는 직접 코딩으로 환경을 설정하거나 참조 모듈을 추가해야 합니다. 아래 링크에서 웹드라이브를 다운로드하고, 파이썬의 워킹 폴더에 복사하세요. 이 글은 파이썬을 예로 작성하고 있지만, C#으로 웹 크롤링 업무 자동화를 제작하려는 분들은 아래 글도 참고 해보세요. 대부분 사용하는 패키지는 동일하기 때문에 개발자라면 쉽게 웹크롤링 프로그램을 제작할 수 있을겁니다.

    C# 웹크롤링 매크로 프로그램 ]

     

    웹드라이버는 아래 링크에서 다운로드 받을 수 있습니다. 드라이버별 브라우저 버전이 있으니, 자신의 컴퓨터에 설치된 브라우저 버전에 맞게 다운로드 받으세요. 저는 크롬 드라이버를 사용하기로 했으며, 웹브라우저 버전은 102입니다. 하위 패치 버전도 있지만, 102버전 아무거나 받아도 동작하는데 문제는 없습니다. 메이저 버전만 같으면 드라이버가 정상 동작하기 때문입니다.

    [ 크롬 웹드라이버 다운로드 ]

    [ 엣지 웹드라이버 다운로드 ]

    [ 엣지 레거시 웹드라이버 다운로드 ]

    [ 익스플로러 웹드라이버 다운로드 ]

    [ 파이어폭스 웹드라이버 다운로드 ] 

    1hDkVmz.png

     

     

    새로운 파이썬 파일을 추가하고, 아래와 같이 import를 설정하세요. import는 Java와 동일합니다. C#에서는 using을 사용합니다. import는 이미 만들어져 있는 함수들의 집합인 라이브러리를 쉽게 사용할 수 있도록 해줍니다. 아래 내용을 보면 pyautogui가 있는데요. 파이썬으로 매크로를 만들 때 필수 라이브러리입니다. 파이썬에서는 패키지라고 부르기 때문에 앞으로는 패키지로 부르겠습니다^^; 그리고, 키보드(keyboard), 시간(time), 운영제체(os)를 추가합니다. 셀레니움 패키지는 당연히 추가해야 합니다.

    import pyautogui as pag
    import keyboard
    from urllib import request
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver import ActionChains
    import time
    import os

    rt6nTzp.png

     

     

    잘 동작하는지 테스트를 해볼까요? 아래 파이썬 코드를 작성하고, 실행 해보세요. 엔지엠소프트웨어 사이트가 열리고, 3초 후 프로그램이 종료됩니다. time.sleep에 적어준 3은 3초동안 대기한다는 의미입니다. 자주 사용하는 함수입니다. 의도하지 않게 동작할 때 지연 시간을 조절하면 좀 더 효과적인 매크로 프로그램을 만들 수 있습니다. 엔지엠 매크로에는 [ 지연 ]뿐만 아니라 [ 랜덤 지연 ]과 [ 스마트 랜덤 지연 ]을 사용할 수 있습니다.

    browser = webdriver.Chrome("./chromedriver.exe")
    browser.get("http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech&wr_id=597")
    time.sleep(3)

     

    아래 글은 전자 정부에서 서비스는 Open API를 사용하는 방법을 자세하게 설명하고 있습니다. 정부에서 무료로 제공하는 이런 데이타를 잘 가공해서 2차 서비스를 만드는곳들이 상당히 많습니다. 기반 시설을 확충하는데 비용이 들어가지 않다보니 좋은 아이디어와 편의성, 접근성을 잘 만든다면 괜찮은 사업이 될수도 있을겁니다. 하지만~ 가장 중요한 아이디어가 없다는게 문제입니다ㅠㅠ;

    전자 정부 오픈 API 전국 미세 먼지 정보 가져오기 ]

    AeLHeiF.png

     

     

    아래 코드는 사이트에서 로그인할 수 있도록 해줍니다. 물론~~~ 개인 홈페이지나 회사 홈페이지와 같은 보안이 약한(?) 곳에서만 정상 작동합니다. 대부분의 사이트들은 캡챠를 도입하고 있습니다. 캡챠란 사람인지 자동화된 도구(로봇)가 로그인 처리를 하는지 판단하는 알고리즘입니다. 가끔 로그인하거나 글을 작성할 때 신호등을 찾거나 숫자와 문자가 조합된 텍스트를 입력할때가 있습니다. 이런것들이 캡챠라고 부르는 것들입니다.

    키움 증권 Open API를 이용한 주식, 해외 선물 자동 매매 만들기 1부 ]

    키움 증권 Open API를 이용한 주식, 국내 선물 자동 매매 만들기 2부 ]

    # 자동 로그인
    site_id = ""
    site_pass = ""
    id = browser.find_element_by_name("id")
    id.send_keys(site_id)
    pw = browser.find_element_by_name("pass")
    pw.send_keys(site_pass)
    browser.find_element_by_css_selector("a.btnLogin").click()
    time.sleep(7)

     

     

    파이썬이나 C# 언어를 배워서 자동화 도구를 검출하는 알고리즘을 피하기란 쉽지 않은일입니다. 그래서, 무턱대고 코딩을 배우면 다 될거 같지만 현실은 그렇지 못한 경우가 많습니다. 그래서, 엔지엠소프트웨어와 같은 자동화 솔루션을 제공하는 회사들에게 문의가 오곤 합니다. 쉽다면 쉽겠지만, 시간과 노력 대비 저렴한 비용으로 자동화 도구를 사용하는게 더 이익입니다. 많은 분들이 그렇게 사용하고 있죠^^; 아래 내용들은 네이버 또는 구글과 같이 캡챠가 있는 사이트에서 자동으로 로그인하는 방법을 설명하고 있습니다.

    [ 네이버 자동 로그인 매크로 만들기 ]

     

    아래 예제는 영어 단어를 입력하면 네이버 또는 구글 번역 API를 사용해서 한글로 해석해주는 매크로 제작 가이드입니다.

    [ 영어 단어를 한글로 번역해주는 매크로 만들기 ]

     

     

    파이썬이나 C# 또는 오토핫키와 같은 언어들을 배우면 여러분들도 엔지엠 매크로와 같은 도구를 만들 수 있습니다. 전문적인 RPA 매크로 제작 도구를 사용하는데 있어서 자신의 업무를 어느정도까지 자동화할 수 있고, 어떤 도구가 적합한지 조사를 하는게 먼저입니다. 엔지엠 매크로도 기능별로 커뮤니티, 얼티밋, 엔터프라이즈 버전이 있으니까요. 코딩을 배우고, 개발 환경을 구축하면서 여러가지 부가적인 내용들도 학습하는것보다는 이미 잘 만들어지고 검증된 솔루션을 사용하는게 좋습니다. 시간도 돈이니까요^^

    • 엔지엠 무료: 무료 (전체 기능의 50프로)
    • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
    • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
    • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.