파이썬으로 웹 크롤러 만들기 - 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법, 2판
라이언 미첼 지음, 한선용 옮김 / 한빛미디어 / 2019년 3월
평점 :
구판절판


리뷰에 앞서 본 리뷰는 한빛 출판 네트워크에서 진행한 ‘나는 리뷰어다’ 이벤트에서 제공받은 책으로 진행한 것을 밝힙니다.


파이썬이라는 언어는, 프로그래밍을 한다고 하면 항상 C 언어를 배워야했던 것처럼, 반드시 익혀야하는 언어라고 생각이 될 정도로 일반화되었다고 생각한다. 단순히 사용하기 쉽다 정도에서 끝나지 않고, 어떤 일을 빠른 시간 내에 해야 할 때, 이미 필요한 대부분의 라이브러리가 준비되어 있는 경우가 많다. 웹 관련 기술에서도 이러한 점은 다르지 않다.


초판이 정확이 언제 출간되었는지 기억이 나지는 않는데, 벌써 두 번째 버전의 번역판이 출간되었음을 다른 책을 구매하러 한빛 미디어 사이트에 들어갔다가 알게 되었다. 마침 기회가 되어 리뷰까지 할 수 있어 감사하게 생각한다.  


웹 크롤러를 만들어 특정 사이트에서 원하는 정보를 얻어 오는 것은, 어떤 정보를 어느정도로 수집할 것인가에 따라 난이도는 많이 달라진다. 간단한 정보라 해도, 정보를 수집하게 어렵게 만들기 위한 여러 기법이 적용되어 있는 사이트의 경우, 이를 위해 많은 정보를 찾아보아야 하고, 어떤 언어를 이용하는 것이 가장 도움이 되는 지에 대해서도 고민해야 하는 부분이 된다.


본 책은, 그러한 고민을 시작하거나 이미 하고 계신 분들에게, 도움이 될 수 있다고 생각한다. 책의 두께만 보고 별 내용이 없으리라 판단할 수도 있지만, 모든 챕터를 꼼꼼히 읽어보면, 단순히 웹 크롤링러 작성하는 방법만을 나열한 책이 아니라는 것은 쉽게 파악할 수 있다. 간단한 스크레이퍼를 작성하는 방식으로 접근을 하면서 하나 하나 좀 더 복잡한 경우 그리고 좀 더 다양한 고려를 해야만 하는 경우들을 짚고 있다. 그리고 중간 중간에 뒤에 진행되어야 할 부분에 대한 필요한 정보에 대해서도 몇 개의 챕터를 할애해 설명을 하고 있다. 간단한 테크닉이나 단순 라이브러리의 사용법 이외에도, 쿠키 처리, CAPTCHA 다루는 방법, 스크레이핑 방어 코드 우회 등과 같이 좀 더 고급 내용도 다루고 있어 참고하기에 좋은 부분이라 생각한다. 그리고 웹 크롤러 작성시 반드시 고려해야하는 윤리성, 합법성 관련 문제에 대해서도 다루고 있다. 전반적으로 웹 크롤러 작성 시 큰 그림을 보기 위해서 읽어볼 만한 좋은 책이라 생각한다. 


하지만, 책을 읽으면서 아쉬운 부분도 일부 눈에 띄었다. 첫째로 이 책이 원서라는 점이다. 원서이기 때문에 이 책이 간행된 시점과 번역서가 간행된 시점은 차이가 날 수 밖에 없다. 예제로 설명하는 코드가 번역이 진행된 시점에 동작하지 않는 부분들이 존재한다. 하지만 역자 분이 이 부분을 꼼꼼히 체크하여, 이러한 부분들을 일일이 언급하고 필요시 예제 코드를 변경하거나, 별도의 github 사이트에 대체 코드를 올려주신 부분은 고마운 부분이라 생각된다. 둘째로 일부 내용의 경우, 배치를 굳이 이렇게 해야했나 하는 부분도 눈에 띈다. 굳이 CVS, PDF와 같은 포맷의 문서 읽기나 자연어 처리와 같이, 알면 도움이 되지만 흐름상 배치를 참고 자료로서 뒷쪽에 배치해도 될 것으로 보이는 내용들을, 중간에 배치 해, 그냥 스킵하고 다음으로 넘어가도 되는 내용 아닐까 하는 부분도 있었다. 셋째로, 다양한 주제를 적은 페이지의 책에서 설명하려다보니, 예제가 단순한 면이 있다. 규모가 좀 큰 예제와 그런 경우 고려해야하는 부분들이 있으면 좋았을텐데 하는 아쉬움이 있다.


요즘 들어 번역서들은 과거의 수준과는 달리 상당히 번역이 잘 되어 있다. 이 책 역시 책을 읽으면서 큰 어색함을 느끼지 못하였다. 또 띄어 쓰기나 쉼표 등이 잘 되어 있어서 어색함과는 별개로 빠르게 읽어나가는데도 문제가 없다고 느꼈다 ( 이 부분에 있어서는 사람들마다 생각이 다를 수는 있으나, 아무리 컴퓨터 IT 책이라도, 중요하다고 생각하는 편이다).


참고로 이 책은 웹 크롤링에 대한 입문서이지, 파이썬 언어에 대한 입문서는 아니다. 책에서 저자가 책에서 설명하는 라이브러리 설치 방법 등에 대해 상세하게 설명하는 부분이 있지만, 어느정도 파이썬에 익숙해져 있는 분들을 위한 내용이다. 따라서 본 책을 보기 전에 먼저 파이썬 입문서를 참고한 후 읽는 것이 더 효과적으로 책을 이해할 수 있을 것이라 생각한다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo