-
-
파이썬으로 웹 크롤러 만들기 - 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법, 2판
라이언 미첼 지음, 한선용 옮김 / 한빛미디어 / 2019년 3월
평점 :
파이썬 웹 크롤러 만들기
작년 파이콘에서 웹 크롤러를 보고 나도 하나 만들어야겠다 싶었다.
인터넷을 뒤적여 가며 찰흙을 붙이듯 붙여나갔지만 얼마 가지 않아 난관에 봉착했다.
태그의 열림과 닫힘이 짝이 안 맞거나 한글이 아니거나 혹은 렌더링 된 페이지이거나 혹은 로그인이 필수인 페이 지거나..
나는 결국 매번 부딪히는 허들에 방법을 찾아 헤매고 헤매다 지쳐 결국 토이 프로젝트는 중단되었다.
인터넷에는 많은 자료가 있어 방대하지만 그것은 과연 지식이라 할 수 있을까
또한 방법은 찾았다 하더라도 근본적인 오류의 원인과 해결 방법을 설명할 수 있는 수준에 이르긴 어려웠다.
그래서 나는 요즘 기술 공부도 책으로 먼저 하는 것에 중점을 두고 있다.
이런 기회에 만난 파이썬 웹 크롤러 만들기 책은 삽질의 연속이었던 나에게
라이브러리 하나하나, 함수 인자 하나하나, 가장 많이 사용하는 use case 하나하나 친절하게 설명해주는 책이다.
이전에 검색으로 얻은 파편화된 지식이 파이썬 웹 크롤러 만들기를 읽음으로써 조각이 맞춰지는 기분이었다.
고급 HTML 분석부터 크롤링 시작, 웹 크롤링 모델, 스크레이퍼, 데이터 저장을 초반에 다루고 있는데 이곳까지 읽으면 원하는 웹 크롤러는 만들 수 있다.
이후 자연어 처리, 로그인 뚫기, 이미지 처리, 텍스트 인식 등 딥러닝을 위한 자료 수집에 도움이 될만한 챕터들도 있고,
병렬 웹 크롤링과 그리고 가장 궁금한 토픽인 합법성과 윤리에 대한 내용도 다룬다.
미리 말해두자면 크롤링은 적법이다.
다만 일부 사이트에서는 리소스를 민감하게 받아들여 해당 ip 차단을 하기도 한다.
개인적인 생각으론 무분별한 크롤링보다는 사이트에 부담스러운 request를 주지 않도록 적절히 조절하는 것이 좋다고 생각한다.
이 책은 파이썬 3 기반으로 작성돼있다.
파이썬 기초 지식이 없는 사람들도 따라 할 수 있는 수준으로 가이드 하지만
그렇다고 이 책을 파이썬 교재로 삼아서는 안된다고 강조한다.
파이썬으로 웹 크롤러 만들기 책은 스스로 링크를 타고 움직이면서 정보를 수집하는 웹 크롤러를 주제로 삼는다.
그저 크롤러를 만들고 HTML 구조를 분석하는 책이겠거니 생각했으나, 책을 쭉 읽어보니 생각보다 훨씬 다양한 분야를 다루고 있어 몹시 흥미로웠다고 옮긴이는 말한다.
또한 파이썬 공부를 병행하고자 하는 독자라면 python3을 추천한다.
이 책이라서가 아니라 이제 파이썬은 버전 2를 더 이상 지원하지 않는다.
유지보수를 위해서 불가피하게 배워야 할 하는 경우가 아니라면 버전 3을 먼저 익힌 뒤
여유가 된다면 버전 2를 보는 순서가 되길 바란다.
왜냐하면 둘의 문법은 생각보다 많이 다르기 때문이다.
보통 자료 조사에서 크롬 탭 4~50개가 기본인 나는 이참에 웹 크롤러를 만들어 링크를 타고 타고 움직이는 자료 수집 비서를 만들어볼 생각이다.