Life/Book Record

[서평] 파이썬으로 웹 크롤러 만들기

샤아이인 2022. 1. 16.

저의 돈으로 직접사서 직접 완독해본후 써보는 후기입니다. 따라서 장점은 장점대로 칭찬할것이며, 단점은 단점대로 언급할 것 입니다.

<읽은기간>

2020/5/1 ~ 2020/8/22 (학기중부터 읽기 시작했었던 책인대 기말고사와 겹쳐서 중간중간 보다 scrapy와 MySQL에서 다시 막혔었는대 이를 스스로 보충학습한 후 다시 읽어 시간이 오래걸렸습니다.)

 

1) 책의 구성

◆​ 표지구성

O'REILLY 종특의 커버표지이다. 처음에는 왠 동물들이 표지에 다 들어가있지? 싶었는대 지금생각해보니 어정쩡한 디자인이나 진짜 구려보이는 디자인들보다는 이런식의 독특한 디자인이 OREILLY라는 출판사의 이미지를 만들어 낸 것 같다.

 

2) 단원별 구성

 

◆​ 목차

크게 Part1과 Part2로 이루어져 있는대, part1만 읽는대도 시간이 엄청결렸다. part2는 심화크롤링 과정인대 이부분은 아직 나에게는 필요하지 않다고 인지하여 추후 크롤링에 전문적인 일을할때 읽어보도록 남겼다.

Part1의 경우 총 6가지 파트로 구성되어있다.

 

1) 첫 번째 웹 스크레이퍼

이 단원에서는 BeautifulSoup의 설치와 더불어 간단한 http 내용에 대하여 언급후 아주기초적인 사용법을 알려준다.

 

2) 고급 HTML분석

기본적인 구문분석 방법과 어떻게 인터넷페이지에서 원하는 부분을 타겟팅 할수있는지 방법을 배웠다. 주로 find문을 사용하였으며 이외에도 다른방법또한 설명하고있다. 추가적으로 정규표현식도 배웠는대 어렵다 생각하면 어려우며, 쉽다생각하면 쉬운 파트였다

 

3) 크롤링 시작하기

이전까지 배웠었던 내용들을 기반으로 실제 싸이트를 활용하여 크롤링 하는 방법을 알려주며 방식을 설명하여 준다.

복잡한 부분의 경우 도식화 하여 이해시키려 노력하고 있습니다.

실제 싸이트를 기반으로 연습하다 보니 코드중간중간 이해가지 않는부분도있었으며 하나한 생각하다보면 진짜 오래걸리는 구간또한 있었습니다.

또한 주의! 나 좀더 알아보기 같은 페이지도 글 중간중간 삽입되어 약간 외적인부분또한 설명하여주었습니다.

 

4) 웹 크롤링 모델

이 단원에서는 어떻게 해야 구조적인 클로링 코드를 짜내는지?

어떻게 해야 좀더 효율적인 접근을 해나갈지 등 일종의 크롤링 모델을 공부하는 단원이였다.

어떤 테그를 선택할지 혹 인터넷익스플로어로 경유시 복잡할경우 모바일을 이용한 접근등 다양한 모델처리과정을 알려주었다.

 

____________여기까지가 초보에게 적당한 수준입니다____________

 

5) 스크레이피

개인적으로 이부분은 나같이 Scrapy라는 프레임워크를 써본적 없는 사람에게는 좀어려웠다.

Scrapy의 모든 기초를 설명하는것이 아니기에 어찌 이난관을 해쳐나갈까 생각하다 Scrapy 관련 인강이 있어서 이를 수강한후 책을 읽어보니 매우 효율적으로 읽을수 있었다.

비록 설치방법부터 나와있기는 하지만 원리가 없기에 그냥 이책만 보고 Scrapy를 공부하기는 힘들거란 생각이 든다.

Scrapy가 있다는 정도의 소개글인것 같다.

6) 데이터 저장

part1의 마지막 단원인대 이또한 난관이였다. 애당초 SQL이 뭔지도 몰랐던 나였기에 이부분 또한 공부를 따로 한후 읽어야 했다.

생활코딩이라는 곳에서 무료로 MySQL을 공부한후 이 파트를 다시읽으니 한층 가볍게 다가왔다.

생활코딩같은 곳에서 아주 기초만 공부하고 읽어도 금방 이해하고 넘길수 있는 단원이다.

물론 SQl말고도 CSV같은것은 그냥 바로읽어도 이해할수 있는 부분이다. 전반적인 데이터 클롤링후 후처리에 관한 단원이라 할수있다.

3) 읽은소감

◆​ 장점

와 첫 2단원을 읽고 느낀점은 원저자가 매우 내공이 높은사람임을 글을통하여 알수 있었다.

물론 역자가 번역을 잘해준점도 있지만, 일단 원문자체가 글을 진짜 잘서술하였다고 생각한다.

4단원 까지는 진짜 기본 Python문법을 아는 초보자라면 누구나 크롤링을 할수있도록 매우 적절히 설명하고 하나하나 알려준다.

진짜 글을 매우 잘썼다는 느낌을 강력하게 받았다.

또 각 책 중간중간 저자의 생각이나 경험등을 삽입한점 또한 좋았으며, 미리 어떠한 오류가 생기는지 또한 알려주는점이 좋았다.

 

◆​ 단점

5단원 Scrapy부터 난이도가 어려워진다. 또한 이책은 Scrapy책이 아니기에 모든점을 설명하지 않아 처음 공부하는 독자가 해처나아가기에는 부담이 큰 단원이였다. 나 또한 따로 공부한후 읽어나가 완주할수 있었다.

또한 모든 코드에 주석을 달아 하나하나 설명을 하지는 않는다.

이는 이해안가는 코드가 나오면 독자가 나처럼 공부를 지속적으로하면서 익숙해진후 다시 읽어보는 방식으로 해결해나가야 한다.

나도 4단원에서 이해안가는 뉴스기나 크롤링 파트에서만 한달은 막혀있었다.

한달동안 파이썬 첼린지같은 공부를 통하여 충분히 익숙해진후 다시 보니 이해가지 않던 부분이 다시 이해가기 시작했었다.

이는 장점일수도 단점일수도있다.

 

Part2는 추후 필요할때 읽어볼 예정입니다.

 

이글의 모든 책의 사진이나 내용은 O'REILLY, 한빛미디어 에게 있습니다.

댓글