빌노트의 노트

파이썬으로 웹 크롤러 만들기 책 리뷰 (Web Scraping with Python) 본문

IT책

파이썬으로 웹 크롤러 만들기 책 리뷰 (Web Scraping with Python)

빌노트 2019.06.09 22:49

파이썬으로 웹 크롤러 만들기 2판 Web Scraping with Python

초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법

 

구글 같은 기업은 어떻게 만들어지나요?

첫째, 수십억 달러를 모아 세계에서 가장 훌륭한 데이터센터를 만들고 세계 곳곳에 배치합니다.

둘째, 웹 크롤러를 만듭니다.

 

이 책은 이 의문에서 시작한다. 데이터센터는 돈이 많이 들어가니까 제껴두고, (구글 정도는 아니지만) 간단한 웹 크롤러는 노력을 하면 만들 수 있다. 그렇다면 웹 크롤러(웹 스크레이퍼)는 어떻게 만들어야 할까? 그 의문을 해결해주는 책이 바로 이 '파이썬으로 웹 크롤러 만들기(Web Scraping with Python)'이다.

인터넷에 돌아다니는 데이터를 잘 정리해서 쉽게 보여주는 사이트가 바로 구글, 네이버다. 구글이 가장 먼저는 아니지만 가장 그럴싸하게 검색 기능을 제공해서 세계 최고의 기업이 되었다. 구글이 되려는건 쉽지 않겠지만 인터넷 상에 돌아다니는 데이터를 잘  활용하면 뭔가 엄청난 일을 할 것만 같다. 이런 생각이 든다면 이 책에서 뭔가 해결책을 찾을 수 있을 것이다.

 

오렐리(O'REILLY) 책이 보통 그러하듯 '파이썬으로 웹 크롤러' 책도 밀도가 있는 책이다. 페이지는 총 350이지만 그 속에 든 내용은 많다. 웹 크롤러에 도전하는 초보자가 앞으로 겪게 될 고생을 덜게해주는 목적으로 쓴 책같다. 바로 웹 스크레이핑을 시도하기 때문에 파이썬 프로그래밍 기초는 따로 설명하지 않는다. 웹 크롤러 직접 제작하고 싶다면 인터넷에 돌아다니는 다양한 정보를 보기에 앞서 이 책을 먼저 읽었으면 좋겠다. 아마 시행착오를 많이 줄일 수 있을 것이다.

'파이썬으로 웹 크롤러'는 크게 2개의 파트로 나눌 수 있다. 파트1이 웹 스크레이퍼(웹 크롤러)를 만들기 위해 반드기 알아야할 내용이라면 파트2는 조금 더 깊은 세부 주제를 다룬다. 웹 크롤러가 처음이라면 파트1부터 차분히 읽을 것이 좋다. 파트2도 순서대로 읽으면 좋겠지만 지금 당장 필요가 없는 내용이라면 이런게 있구나 정도만 알고 넘어가도 좋을 것이다.

거의 모든 프로그래밍이 그렇듯 파이썬으로 웹 크롤러를 만드는 작업도 다른 사람들이 미리 만들어놓은 라이브러리를 활용하는 것이 좋다. 아니 필수다. 모든 걸 직접 제작하려는 생각은 (천재가 아니라면) 어리석은 짓이다. 이 책은 기본적으로 BeautifulSoup 라이브러리(bs4)를 사용한다. BeautifulSoup으로 시작해서 스크레이피, 오픈리파인, 자연어 처리 NLTK, 셀레니움, 필로, 테서랙트, CAPTCHA 등 많은 라이브러리 사용법을 이 책에서 배울 수 있다.

파트1의 내용은 웹 크롤러 만들기의 기본을 설명하는데, 웹 크롤러를 만들어서 웹 사이트를 돌아다니며 모은 데이터를 MySQL과 같은 데이터베이스에 저장하는 방법까지 배운다. 책에 있는 내용을 따라하다보면 웹 크롤러가 어떻게 웹을 돌아다니는지 조금 감을 잡을 수 있을 것이다.

 

파트2의 내용은 매우 실용적이다. 무슨 내용을 다루는지는 목차를 보면 된다. 문서 읽기, 지저분한 데이터 정리하기, 자연어 읽고 쓰기, 폼과 로그인 뚫기, 자바스크립트 스크레이핑, API를 통한 크롤링, 이미지 처리와 텍스트 인식, 스크레이핑 함정 피하기, 스크레이퍼로 웹사이트 테스트하기, 병렬 웹 크롤링, 원격 스크레이핑, 웹 스크레이핑의 합법성과 윤리.

크롤링에 관심이 있어 '파이썬으로 웹 크롤러 만들기'를 봤는데 파이썬 실력이 늘어난 것 같다. 다양한 라이브러리를 경험을 해서 그런가?! 웹 크롤러에 대한 궁금증도 어느정도 풀렸지만 파이썬의 막강함을 다시 한번 느끼게 되는 계기가 된 것 같아 개인적으로 아주 만족스럽다. 이런저런 아이디어가 떠올라 뭔가 재미있는 프로그램을 만들 수 있을 것만 같다. 인터넷에 돌아다니는 데이터를 잘 정리해서 예쁘게만 보여줘도 하나의 사이트 완성. 방문자가 늘어난다면 광고를 붙여 돈을 벌 수도 있을 것이다. 이것이 바로 또 하나의 비즈니스.


0 Comments
댓글쓰기 폼