꿈을 향해 on my way

초간단 웹 스크레이핑 / 웹 크롤링 (크롬 익스텐션 - Web Scraper) 본문

데이터 사이언스 공부

초간단 웹 스크레이핑 / 웹 크롤링 (크롬 익스텐션 - Web Scraper)

박재성 2020. 9. 9. 09:19

1. 크롬 익스텐션 - 'Web Scraper' 설치 (webscraper.io/)

 

 

webscraper.io 에서 위의 스크린샷과 같이 프로그램을 다운받으면 설치가 끝납니다. (보통 크롬 익스텐션 프로그램은 다운로드 후 오른쪽 상단에 아이콘이 생기는데 이건 안생깁니다. 괜찮아요. 당황하지 않으셔도 됩니다. 'Developer tool' 을 키면 보임)

 

 

 

2. Web Scraper Tool bar 열기

Web Scraper Tool bar 를 열려면 Developer Tool 창을 열어야 합니다.

 

- 단축키 'Ctrl + Shift + I' 로 켜도 되고

- 우측 세팅 아이콘을 이용해 'More tools' -> 'Developer Tool' 로 키셔도 됩니다.

 

 

위의 사진 내 아이콘을 이용해 Dock side를 하단으로 바꿔줍니다. 

 

그럼, 이제 Developer Tool 메뉴바에 'Web Developer' 가 보입니다.

 

 

 

3. Sitemap 만들기

Sitemap은 웹마스터가 크롤링에 사용할 수 있는 사이트의 페이지에 대한 정보를 검색 엔진에 알리는 손쉬운 방법입니다. Sitemap의 가장 간단한 형식은 검색 엔진에서 사이트를 보다 지능적으로 크롤링할 수 있도록 각 URL에 대한 추가 메타데이터(마지막 업데이트된 날짜, 변경 빈도, 사이트의 다른 URL에 상대적인 중요도)와 함께 사이트에 대한 URL을 나열하는 XML 파일입니다.

무슨말인지 저도 100%는 모르겠습니다. 다만, 여기서 사이트맵이란, Web Scraper 프로그램이 웹 스크레이핑 (웹 크롤링)에 사용할 수 있도록 사이트의 페이지에 대한 정보를 제공하는 매체라고 이해하면 될 듯합니다. 

 

Sitemap을 만들어보죠. 

 

Web Scraper -> Create Sitemap

 

Sitemap name은 원하시는 아무 이름을 적으시면 되고, Start URL은 크롤링 할 웹페이지 주소를 적으면 됩니다.

(예시의 경우엔 rent.heykorean.com/rent/list)

 

 

 

4. Data Selector 만들기

이제, Sitemap 내에서 어떤 정보를 가져올지 선택해줍시다.

(아래의 예시에서 제가 원하는 정보는 각 부동산 매물제목조회수 입니다)

 

각 포스팅 안에 제목과 조회수 정보가 있죠. 먼저, 각 포스팅을 선택해줍니다. 

 

'Add New Selector' 클릭 

 

 

사진과 같이 element_wrapper를 생성

각 포스팅이 하나의 element_wrapper 가 됩니다.

 

Id는 원하시는 이름 아무거나 적으면 되고, Type은 'Element', Multiple체크해줍니다.

(Element라는 Type이 생소하실 수도 있는데 HTML에서 Element (요소)는 HTML을 구성하는 세포라고 이해하시면 됩니다. 각 HTML Element는 시작태그와 종료태크, 그리고 그 사이의 내용(content)로 구성됩니다)

 

Select 버튼을 누르고 각 포스팅을 위의 사진처럼 클릭해줍니다. 제일 중요한건 초록색 'Done Selecting' 클릭까지!

 

이제 각 포스팅 (Element) 안에 어떤 정보를 스크레이핑 할건지 선택해 줍니다.

 

아까와 같은 방법으로 'Add New Selector'를 클릭하고 아래와 같이 입력 

 

title
view

주의할건 Multiple 박스노체크, Parent Selector는 각 포스팅(Element) 안의 정보이니 'element_wrapper'를 클릭 

 

 

 

5. Scraper 실행 & 데이터 다운로드 

여기까지 했으면, 99%는 끝났습니다. 이제 설정한 사이트맵으로 크롤링만 하면 끝.

 

Sitemap heykorean_real_estate -> Scrape 클릭 

 

'Start Scraping' 클릭

 

'Export data as CSV' 클릭

 

'Download now' 클릭

 

그럼, CSV 파일이 다운로드 됩니다. 다운 받아진 CSV을 열어보면 아래와 같습니다.

계획했던대로, title과 view 데이터가 깔끔하게 정리된 걸 볼 수 있습니다.

 

끝!

 

P.S. Python request 라이브러리와 beautifulsoup 라이브러리로 웹스크레이핑 하는 방법을 알고 있었는데, 좀 복잡했어요. 구글링 중에 정말 간단하게 웹스크레이핑/ 웹크롤링을 도와주는 크롬 익스텐션 프로그램을 발견해서 공유합니다. 직관적이고 정말 편하네요.

Comments