본문 바로가기
이미지 매크로

웹크롤링 업무 자동화 메크로 제작 - 외부 API - 웹 API - 엘리먼트 목록. (External API, Web API, Elements)

by 업무자동화 2022. 7. 23.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순구매매크로 #이미지서치매크로 #한글매크로

 

안녕하세요. 엔지엠소프트웨어입니다. 이 예제를 학습하기전 엘리먼트(Element, 요소, 원소, 구성 성분)가 어떤 의미로 사용되는지 이해할 필요가 있습니다. 개발자라면 오브젝트, 인스턴스, 엘리먼트, 노드등등... 익숙한 용어이고 어떤 의미로 어디에 쓰이는지 알고 있죠. 하지만, 비개발자분들이 이런 용어를 들으면 당연히 물음표(?)를 던질 수 밖에 없습니다. 문제는 이해되지 않는 용어 때문에 학습에 대한 열정이 감소한다는 것입니다. 엘리먼트를 제외한 다른 이야기는 다음에 한번 알아보기로 하고, 웹에서 말하는 엘리먼트가 무엇인지 이해하기 위해 아래 글을 한번 읽어보시기 바랍니다.

[ 위키 백과 - 웹 엘리먼트란? ]

 

예제를 진행하면서 좀 더 부연 설명을 추가해서 글을 작성할께요. 잘 이해되지 않는 부분들은 댓글 또는 질문과 답변 게시판에 남겨주세요. 제가 아는 지식 범위 내에서 답변드리도록 하겠습니다. 자~ 우선, 이 예제를 하기 위해 엔지엠 에디터를 실행하고, 새로운 스크립트를 하나 추가하세요.

 

 

아래 동영상을 참고해서 웹 API의 [ 연결 ]과 엘리먼트 목록을 추가하세요.

 

 

아래 그림에서는 표시되지 않았지만, 연결 액션의 아이디를 "질답"으로 설정한 후 아래 내용과 같이 각각의 속성을 입력해주세요.

  1. 웹드라이버 선택 (크롬 드라이버 사용)
  2. 웹브라우저는 크롬 선택
  3. 웹사이트 주소: http://ngmsoftware.com/bbs/board.php?bo_table=knowledge

 

 

엘리먼트 목록 액션을 선택하고, 각각의 속성을 아래와 같이 설정 해줍니다.

  1. 엘리먼트 값 텍스트
  2. 요소 이름: //*[@id="fboardlist"]/div[2]/table/tbody
  3. 요소 형식: XPath
  4. 웹브라우저 이름은 연결 액션의 아이디 선택
  5. 자식 엘리먼트 탐색에 True 선택

 

 

우리는 엘리먼트를 탐색하도록 설정 했습니다. 우선, 웹사이트 주소는 엔지엠소프트웨어 홈페이지의 질문과 답변 게시판입니다.

 

 

질문과 답변 게시판 글들의 목록을 가져올겁니다. 그러기 위해서는 글 제목들을 묶을 상위 엘리먼트가 필요합니다. 대부분의 웹은 아래와 같은 구조로 이루어져 있습니다.

<table>
  <tbody>
    <tr>
      <td>제목</td>
      <td>내용</td>
    </tr>
    ... <tr> 반복...
  </tbody>
</table>
 

 

여기서 <tr> 안에 값을 담고 있는 <td>가 반복되죠? 우리가 가져올 값은 <tr>입니다. 그래야 하나의 제목을 가져올 수 있기 때문입니다. 그렇다면 <tr> 전체를 가져오려면 상위에 있는 <tbody>를 가져와서 자식 엘리먼트를 목록으로 만들면 됩니다. 그러면 현재 선택된 엘리먼트는 <tbody>지만, 하위에 <tr>을 목록화 할 수 있습니다. 지금까지 만든 스크립트를 실행하면 첫번째 글의 제목을 가져오고, 엘리먼트도 확인할 수 있습니다.

 

 

선택된 엘리먼트를 변수에 저장 해줍니다. [ 변수 추가 ] 액션 매뉴얼을 참고하세요.

 

 

사이트에서 엘리먼트들을 모두 탐색한 후 해당 엘리먼트의 하위 엘리먼트만 탐색할수도 있습니다. 이는 XPath로 선택한 하나의 값만 처리하기 보다는 배열로 순환 반복하면서 처리할 때 유리합니다. 일부 특수한 엘리먼트들은 XPath로 지정되지 않는 경우가 있습니다. 여러가지 상황에 유연하게 대응하기 위해서는 다른 방법을 사용할 수 있어야 합니다. 가장 좋은 방법은 커스텀 액션을 개발하는거지만요^^;

 

아래는 엘리먼트 목록을 하나 더 추가하고, 변수에 저장된 엘리먼트에서 탬색하는 방법을 설명하고 있습니다.

 

 

변수에 저장된 엘리먼트를 추가하고, 가져오려면 아래와 같이 설정해야 합니다.

 

 

현재까지 수행한 내용을 살펴보면, tbody로 가져온 목록들 중에서 첫번째 엘리먼트를 변수에 저장했습니다. 그리고, 첫번째 엘리먼트(<tr>)의 첫번째 엘리먼트(<td>)를 가져오도록 했습니다. 실행하면 첫번째 td의 값만 가져온것을 알 수 있습니다.

 

 

tr의 하위 엘리먼트가 7개인걸 알 수 있고, 첫번째 엘리먼트인 td의 값이 "공지"인지 확인할 수 있습니다. 이렇게 엘리먼트의 하위 엘리먼트를 연속해서 탐색할 수 있습니다. 원하는 결과가 나올 때까지 탐색하면서 결과를 확인 해보세요. 또한, 부가적인 정보들을 확인하거나 엘리먼트의 값에 따라 조건을 추가한다면 좀 더 다양한 동작을 수행할 수 있을겁니다.

 

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로

반응형

댓글