NGMsoftware

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

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

    팁 앤 테크

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

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

    에디터 웹 API의 엘리먼트 목록을 사용해서 링크 URL 주소만 모두 뽑아내는 방법.

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 매크로의 웹 API를 사용해서 웹 업무를 자동화 할 수 있는데요. 특정 사이트 또는 목록으로 되어있는 게시판이나 장바구니등등... 다양한 곳에서 반복되는 데이타를 추출해야 하는 일들이 많습니다. 이 때 쉽게 사용할 수 있는 액션이 [ 엘리먼트 목록 ]입니다. 테스트를 위해 엔지엠 매크로 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

    cnOuw3h.gif

     

     

    테스트할 사이트는 타오바오(TaoBao)의 주문 정보가 있는 쇼핑 카트 페이지입니다. 저는 계정이 없어서 구글에서 이미지를 하나 가져왔는데요. 대략 아래와 같이 목록으로 표시됩니다.

    5BTxP6B.jpg

     

     

    장바구니에 담아둔 상품들의 주소를 전부 가져올겁니다. 고객님으로부터 장바구니 HTML을 제공 받았습니다. 계정 정보를 받을수가 없어서요^^ 하지만, 아래 그림과 같이 실제 타오바오 서버로부터 이미지나 데이타를 받아올 수 없기 때문에 단순 텍스트만 표시됩니다. 로그인해서 세션이 연결되면 정상적으로 다 나올겁니다.

    oYwbhlY.jpg

     

     

    HTML 구조는 동일하기 때문에 테스트하는데 문제는 없습니다. 웹 API를 이용해서 다운로드 받은 로컬 파일을 테스트하려면 아래와 같이 설정하면 됩니다. 중요한 부분은 웹사이트 주소에 로컬 파일 경로를 입력해야 한다는겁니다. 아쉽게도 직접 연결은 불가능합니다. 실제 프로덕션 환경에서는 아래처럼 연결하면 안됩니다.

    Ltv42xV.jpg

     

     

    [ 엘리먼트 목록 ] 액션은 옵션들이 많아서 사용하기가 어려울겁니다. 하나씩 알아보도록 할께요.

    8RhsjzE.jpg

     

     

    우선, 우리가 찾을 값은 목록으로 되어 있는 table 또는 div의 하위 항목들입니다. table이라면 tr을 찾아서 하위의 특정값을 모두 가져와야 합니다. div라면 하위로 중첩된 div가 있을테고, 이 안에 클릭하면 이동할 수 있는 a tag가 있을겁니다. 구조는 웹페이지에서 소스 보기를 통해 직접 분석해야 합니다. 워낙 다양하기 때문에 분석하려면 기본적인 HTML은 익혀두시는게 좋습니다. 크게 어렵지는 않습니다^^

     

    타오바오(taobao) 장바구니는 table이 아닌 div 목록으로 되어 있네요.

    NTEDYcz.jpg

     

     

    장바구니의 목록 엘리먼트는 "//*[@id="J_OrderList"]"입니다. 명령을 수행할 웹브라우저 아이디를 선택하고, 요소 형식과 요소 이름을 입력하세요. 요소 형식과 요소 이름을 설정하는 방법은 웹 API 관련 도움말을 하나씩 천천히 읽어 보시면서 학습하세요. 기본적인 내용은 먼저 읽어 보시고 이글을 보셔야 합니다.

    XebJCr3.jpg

     

     

    매크로를 실행하고 결과를 보면 아래와 같이 타오바오 장바구니의 모든 텍스트를 가져옵니다.

    RPPrRqh.jpg

     

     

    우리가 원하는 정보는 아닙니다. 우리는 a tag 안에 href 어트리뷰트(attribue: 특성)의 내용을 가져올겁니다.

    1iK9ptV.jpg

     

     

    모든 링크 정보를 가져왔는데요. 불필요한 것들까지 모두 가져왔습니다. 우리가 필요한건 item으로 시작하는 링크입니다.

    HrZlg5p.jpg

     

     

    정규 표현식에 아래와 같이 http 또는 https로 시작하면서 item으로 시작되는 링크 주소만 필터링 해줍니다. 정규식 관련 내용은 팁 게시판에서 학습할 수 있습니다.

    • 정규 표현식: ^(http|https)://item

    8p3GRQ7.jpg

     

     

    매크로를 다시 실행하고 결과를 확인 해보세요. 총 항목은 48개입니다. 원하는 데이타만 수집이 잘 되었습니다.

    jGdQw8o.jpg

     

     

    이 데이타를 어디에 어떻게 사용할지는 모르겠지만, 이 값은 배열이기 때문에 아래 글을 참고해서 응용하면 원하는 매크로를 만들 수 있을겁니다. 아래 글에서 Foreach 반복과 변수에 대해 학습해야 합니다. 반복과 변수에 대해 이해하면 엘리먼트 목록을 변수에 넣고 반복하면서 어떤 처리를 만들 수 있습니다.

    [ 크롬 또는 엣지 웹브라우저를 동시에 멀티로 제어하는 방법 ]

     

    기타 궁금한 사항은 [ 고객 서비스 ]방에 질문 해주세요^^

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.