나는 리뷰어다_파이썬으로 웹 크롤러 만들기

파이썬을 이용한 웹 크롤러 제작의 필독서

파이썬은 문법에 대한 학습만 하고 djnago를 이용한 간단한 웹 페이지만 작성해본 사람으로서 처음 접해본 웹 크롤러 관련 서적이다. 책은 두껍지 않으나 웹 크롤러과 관련하여 다루는 내용이 많고 설명이 간결하다.

파트1 스크레이퍼 제작

파이썬을 통한 웹 크롤링이 무엇인지 소개하고 파이썬을 설치하고 간단한 코딩으로 부터 시작해서 여러가지 라이브러리를 사용하여 데이터를 얻고 mysql을 설치해서 데이터베이스에 저장 하는 것까지 안내 하고 있다. 파이썬 기초에 대해서는 다루지 않기 때문에 파이썬에 대한 기본적인 이해와 학습은 미리 준비가 필요하다. 하지만 웹 크롤링이 뭔지, 파이썬이 뭔지 몰라도, 소스코드가 무었을 의미 하는지 제대로 이해 하지 못해도 웹 크롤러에 대한 대략적인 감은 잡을 수 있을 듯 하다. 핵심만 간추려서 군더더기 없이 친절하게 안내하고 있어 쉽게 이해 할 수 있다. 하지만 소스코드를 보고 이해 하는 것과 설명만을 이해 하는 것은 전혀 다른 것이니 소스코드를 보고 직접 코딩하면서 결과물을 확인 하면 더 좋을 것이다.

웹 크롤러를 작성하여 데이터를 얻어 오는데 있어 여러가지 준비 사항들이 필요한데 정규표현식과 람다표현식에 대해서도 간단하게 설명하고 넘어가는 부분이 있다. 웹 크롤링으로 정확한 정보를 수집한다고 하면 이들의 내용에 대해서도 따로 학습이 필요 할 듯 하다. 또 수집한 데이터를 데이터베이스에 저장 하여 확인 하기 위해 my-sql 을 설치하여 사용하는 방법을 안내하고 있다. 이렇게 부분 부분 필요한 내용을 어렵지 않게 쉽게 설명하고 있어서 맘에 들었다.

파트2 고급 스크레이핑

책에서 저자가 말했던 “웹 크롤링은 여러가지 최신 웹 기술의 핵심에 있다” 라는 말을 증명 하는 내용이다. 웹 크롤링으로 데이터들을 수집하기 위해 상대해야 하는 여러가지 주제들에 대해 하나하나 설명을 하고 있다. 목차에서도 볼 수 있듯이 텍스트 포멧의 문서읽기, 자연어 처리, 폼과 로그인, 자바스크립트등의 내용을 소개 하는 것을 보고 있자니 내가 너무 웹 크롤링을 그냥 막연하게만 생각하고 있었다는 것을 느꼈다. 하지만 적당한 유머와 간결한 문체로 설명을 해주어서 이렇게 알아야할 내용을 나열해주는데도 부담스럽거나 어렵다고 느껴지는 부분은 없었다.

목차의 내용중에 다음의 부분들이 인상적이었다.

폼과 로그인 뚫기

http post 요청을 형식에 맞게 직접 만들어서 스크레이퍼가 전송을 할수있게 만드는 법을 소개 하고 있다. 웹 크롤렁은 정적인 페이지의 데이터만 수집해오는 줄 알고 있었기에 이 부분은 전혀 생각하지 못했다.

자바스크립트 스크레이핑

자바스크립트를 스크레이핑 하기전에 자바스크립트에 대해 간결하게 설명을 하고 있다. 내용이 많지도 않은데 마치 자바스크립트 안내서의 느낌을 받았다. 그만큼 설명을 잘 하고 있다고 생각한다.

API를 통한 크롤링

웹 크롤러에도 API가 있는 줄은 몰랐다. 수집하고자 하는 사이트와 내용을 잘 정리해서 시행착오를 거치며 쓸만한 데이터를 얻어 내는 것으로만 생각 하고 있었는데. 웹 크롤러 자체도 하나의 프로그램으로 인식하고 접근 방법을 다르게 바라보게 해주는 내용 이었다.

인상적인 문구들

어찌보면 당연한 내용인데도 읽으면서 세삼 각인되었던 문구들이다.

“분석과 설계를 통해 코드 작업에 들어가야지 그렇지 않은 경우에는 코드를 작성하고 유지하는게 어려워 지고 결과 데이터를 추출하고 효율적으로 사용하기도 어려워진다”

“웹 크롤링은 여러가지 최신 웹 기술의 핵심에 있다”

“텍스트 분석은 당신의 프로젝트와는 아무 상관없다고 생각할 수도 있지만, 텍스트 분석의 배경에 있는 개념을 이해하면 머신러닝 전반에 걸쳐 대단히 큰 도움이 되며, 현실 세계의 문제를 개연성과 알고리즘의 관점에서 모델링하는 더 범용적인 능력을 갖게 됩니다.”

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다