본문 바로가기
컴퓨터 COMPUTER/Urban Data Analytics 데이터분석

[파이썬을 이용한 토픽모델링] : step2. 웹크롤링 툴 (Octoparse) 을 이용해 데이터 수집하기

by 매실이 maesiri 2020. 1. 29.
  1. Octoparse 가입, Standard Free Trial (14일) 등록 후 다운로드

https://www.octoparse.com/ 

위 링크에서 회원가입 후 (이메일 verification 단계 있음) Free Trial 중 Standard 형식을 선택

 

다운로드 받은 zip 파일을 풀고 OctoparseSetup.msi 파일을 더블클릭한다. 

instruction 에 따라간 후 설치가 완료되면 Octoparse 계정으로 로그인한다. 

 

 2. Task 만들기

 

로그인 후 나오는 첫 화면에서 Advanced Mode 의 +Task 버튼을 클릭한다.

 

데이터를 크롤링하고 싶은 사이트의 링크를 복사하여 Website 란에 붙여넣는다.

이 매뉴얼에서는 Web of Science 사이트에서 2016-2020년동안 발행된 ‘disaster’ 관련한 논문 중에서 ‘flood’ 와 연관이 있는 논문을 검색하여 그 링크를 가져왔다.

 

 

링크를 가져온 후 아래 사진과 같이 붙여넣고 save URL 버튼을 클릭한다.

 

 

그 후 Task의 이름을 알기 쉽게 저장하고 workflow를 옆의 버튼을 눌러 workflow 창을 닫는다. ex) WebofScience_disaster_flood_2016-2020 로 제목 저장

 

 

 그럼 아까 붙여넣은 링크가 Octoparse 에 내장되어 있는 브라우저에 뜨게 된다. 

 

multiple page 에서 논문을 모두 긁어와야 하므로, 우선 페이지 가장 아래의 next 버튼 (화살표 모양) 을 클릭한다. 그럼 주황색 테두리의 ‘Action Tips’ 창에 Loop click single element 버튼이 생길 것이다. 이것을 클릭하여 더이상 화살표 버튼이 없을 때까지 Loop 을 돌도록 한다. (이 과정을 pagination 이라고 말한다.)

 

 

Loop 을 누르고 나면 아래와 같이 한번 next 버튼을 눌렀을 때 페이지가 변환된 모습이 뜬다. 각 논문의 설명 페이지 내의 논문의 제목과 초록, 키워드를 모두 긁어와야하므로 모든 페이지에서 논문의 제목링크를 자동으로 클릭하도록 해야한다. 

그렇게 하기 위해서는 아래와 같이 논문제목 링크를 첫번째 - 두번째 순서로 2개 클릭 한다. 두번째 제목까지 클릭하면 아까와 같이 ‘Action Tips’ 창에 Loop click element 버튼이 생길 것이다. 이를 클릭하자.

 

 

그럼 아까와 마찬가지로 논문제목링크를 클릭하였을 때의 페이지가 뜰 것이다. 이 페이지에는 우리가 긁어오고 싶은 제목, 초록, 키워드가 모두 있는 것을 확인할 수 있다. 원하는 데이터를 선택하기 위해 제목, 발행날짜, 초록, 키워드를 아래와 같이 차례로 클릭해보자. 

 

‘Action Tips’ 창의 표에 Field 가 채워지는 것을 볼 수 있다. Field의 이름을 바꿀 수 있지만 이 매뉴얼에서는 데이터 전처리 과정에서 어차피 헤더를 지워버릴 것이므로 생략해도 된다.

모두 선택된 것이 확인되었다면 Extract data 버튼을 클릭한다.

 

 

Save & Run 클릭.

 

아래와 같이 extraction 방법을 선택하는 창이 나오는데 Local extraction 을 클릭한다. 

 



아래 이미지와 같이 Octoparse 가 자동으로 텍스트를 크롤링하는 것을 볼 수 있다. 



3. 크롤링 한 데이터 저장하기 (Excel, JSON)

 

추출이 모두 되었다는 팝업이 뜬다면 이제 Export data 버튼을 눌러 파일로 저장하면 된다. 이 매뉴얼에서는 JSON 파일을 이용할 것이기 때문에 JSON 으로만 추출해도 되지만, 훗날 다른 텍스트 마이닝을 하게되면 어떤 형식으로 데이터를 새로 가공해야할지 모르기 때문에 변환이 쉬운 Excel 로도 하나 더 추출을 해놓는 것을 권장한다.

 

 

다음으로 수집한 데이터의 주제를 토픽모델링을 통해 알아내보도록 하겠다.

 

반응형