본문 바로가기

IT/RPA

[RPA] #2 화면 텍스트 추출하기 - 데이터 스크래핑, 브라우저 조작, 변수 정의

# 새로운 Activity 학습

# 데이터 타입별 변수 초기화 시 Default 값

# DataTable 다루기

# Tab 주소가 바뀔 때마다 Attach Browser 액티비티 추가 필요

 

<목차>

** 텍스트 추출하기

 

 

** 텍스트 추출하기

 

 

 BeautifulSoup과 Selenium 라이브러리를 이용한 
웹 크롤링, 웹 스크래핑

UiPath를 통해 아주 쉽게 진행할 수 있다.

 

 

 

 

 

- 추출하고자 하는 데이터는 Get Text, Extract Structured Data 'Table' 등의 액티비티로 추출할 수 있다.

 

- 단, Extract Structured Data를 이용한 TableData의 경우

     => Output Data Table 액티비티를 이용하여 데이터 타입을 String으로 변환 가능하다.

 

- 추출한 데이터를 받은  변수, 정의한 변수는 한 곳에 모아 관리한다.

 

 

 

 

 

 

 

 

1. 네이버 증권 데이터 추출 [테이블 데이터]

 

   (1) 스크래핑 시작

   * 스크래핑을 진행할 때 접근하는 방법이 두 가지가 있다..

 

 

 

방법 1)  UIPath의 리본메뉴 -> 스크래핑

방법 2) 웹 레코딩 ->  복사 -> 데이터스크래핑

 

 

 

데이터 스크래핑의 방법 1, 방법 2

 

 

    => 두 가지 방법 모두 Attach를 알아서 잘 잡아주므로 Attach Browser 액티비티는 따로 설정하지 않고 진행한다.

 

 

 

 

 

 

 

   (2) 테이블 데이터 추출 여부 확인

 

테이블 데이터 추출 여부 확인창

 

레코딩의 경우, 데이터를 선택하면

자동적으로 테이블 데이터 여부를 인식한다.

 

 

 

 

 

 

 

   (3) 데이터 추출 과정

 

네이버 증권 데이터 테이블 추출

 

 

 * Logic

   : 증권 데이터 테이블로 이동 -> Table 데이터 추출 -> TableData를 String 자료형으로 변환 -> Message Box에 출력

 

 

 

 

 

 

 

2. 브라우저 조작 - Navigate To 등

* UiPath의 Navigate To 액티비티를 이용해 여러 사이트를 돌아다니며 자동화 시스템을 구현할 수 있다.

* 또한 브라우저의 이전, 이후, 홈으로 이동 등의 기능까지 조작이 가능하다.

 

 

브라우저 조작과 관련된 Activity

 

▲ 브라우저 조작과 관련된 다양한 Activity들이 있다. 그중, 가장 자주 쓰이는 것은 Navigate To이다.

 

 

 

 

* 주의할 점은, 위의 Activity들은 단독으로 쓰일 수 없고,

반드시 Attach Browser 등의 다른 Activity와 함께 쓰여야 한다.

 

 

 

 

 

 

 

3. 데이터 다운로드 - 파일위치, 파일명 설정

* 파일 다운로드 자동화 시, 파일의 이름과 경로를 임의로 설정할 수 있다.

* 이는 파일을 저장할 시 '원하는 저장 위치\파일이름. 확장자'로 파일 이름을 지정하면 된다.

 

파일 다운로드창

 

 

 

 

 

 

4. 데이터 추출 관련 Issue

 

   1) 원하는 구역이 Mouse :hover 상태여야 할 때

 

    => Recording 또는, Sequence를 구성할 때, 원하는 영역이 마우스를 올려놓은 상태에서만 보이는 경우가 있다. 

    => 이 경우 각각 진행하는 방식에 따라 다른 방법을 쓰게 된다

 

 

 

마우스를 올려야 하위 메뉴가 보이는 사이트

 

 

 

 

  • Recording을 이용한 방법 : F2를 눌러 Recording을 일시정지 후 메뉴바 영역을 보이도록 함
  • Activity를 이용하는 방법 : F2를 눌러 모션 Recording 정지, 마우스 우클릭으로 해당 영역을 고정 [권장]

 

 

Recording은 원치 않는 모션 추가의 위험이 있으므로,

마우스 우클릭을 권장한다.

 

 

 

 

 

   2) 콤보박스의 데이터 불러오기

 

   => Select Item 액티비티를 이용, 감춰진 콤보박스 내부의 데이터를 쉽게 가져올 수 있다.

 

 

Select Item 액티비티를 이용한 값 출력

 

 

 

 

 

 

 

5. 사용한 Activity 정리

 1) Get Text: 텍스트를 String 타입으로 추출, 추출한 텍스트를 받아줄 변수를 할당해주어야 한다. (출력 - 값에서 정의)

 

 2) Select Item : 콤보박스 내의 접혀 있는 데이터를 추출.

 

 3) Extract Structured Data 'Table' : 테이블 데이터를 추출. DataTable 변수형으로 반환

     ==> 단, 'Extract데이터 테이블'이라는 변수명으로 반환,,, 공백 오류 방지 위해 변수명 수정 필요함!

 

 4) 브라우저 조작 관련 - Close Tab, Go Back, Go Forward, Go Home,  Navigate To  [모두 단독으로 쓰일 수 없음!!]

 

 5) Assign - 변수 정의, 할당 시 Default 값(또는 빈 값)을 지정해주어야 함.

   * 변수의 자료형마다 초기값(빈 값)이 다르다

 

 

<자료형에 따른 빈 값>

 

자료형 Integer(정수) String(문자) DataTable Array
초기값(빈값) 0 "" 또는 Nothing New System.Data.DataTable {""}

 

 

    참고) GenericValue : 추출한 정보가 어떤 자료형으로 사용할지 확정되지 않았을 때 임시적 자료형

        => 테이블 데이터를 가져오기만 한 상태에서는 변수 데이터타입이 GenericValue 임.