티스토리 뷰

반응형

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

파이썬으로 웹 크롤러 만들기/한빛미디어

많은 것들이 가능하다는 파이썬이지만 아쉽게도 난 아직 문법을 익히는 중이라, 배열에서 몇 번째에 들어있는 값 찾기 같은 것들만 가능한 수준이다. 예전에 T아카데미에서 크롤러 만드는 수업이 있어 한 번 들어본 적은 있는데, 코드 타이핑만 따라 치니 어찌어찌해 결과물이 나오긴 했는데 거기까지였다. 그 때는 파이썬이 뭔지도 모르고 화면에 뜨는대로 따라 설치하고 따라 코드를 쳤으니 당연한 결과였겠다.

현재는 파이썬을 활용해 어떤 업무를 추가로 할 수 있을지를 살펴보는 중이라 그 때와는 다르게 접근했다.

책에 있는 코드를 따라 치는 대신 어떤 순서로 코드를 확장해가는지를 살펴봤다. 당장 크롤러를 만드는 것 보다 내가 하고있는 업무에 어떤 부분을 연관지으면 좋을지를 찾아보기 위함이었다.

콘텐츠를 실제로 눈으로 볼 수 없고, 나중에 로그나 텍스트로 확인해야 한다는 것은 지금 내가 하는 업무와 많이 닮아있었다. 동일한 템플릿이 존재해야만 데이터가 깔끔하게 수집이 가능하고, 중간에 변주가 일어나는 부분은 수집이 원활하지 못한 부분까지 닮아있었다.

4장에서 웹 크롤링 모델을 만드는 과정 중 체크리스트 작성과 관련한 것들이 있는데, 이 체크리스트는 내 업무와도 많이 닮아있어 여기에도 옮겨 적어본다.

  • 이 정보가 프로젝트 목표에 도움이 되는가? 이 정보가 없다면 프로젝트 진행이 어려운가? 아니면 단지 있으면 좋은 정도이고 없어도 별 영향은 없는가?
  • 나중에 도움이 될 것 같지만 확신할 수 없다면, 나중에 다시 이 정보를 수집하는 건 얼마나 어려울까?
  • 이미 수집한 데이터와 중복은 아닌가?
  • 이 데이터를 이 객체에 저장하는 것은 논리적으로 앞뒤가 맞는가?
  • 계속 나타나는 데이터인가? 아니면 간혹 나타나는 데이터인가? 모든 사이트에 관련성이 있고 계속 등장할 것인가?
  • 데이터가 얼마나 큰가?
  • 데이터가 크다면 분석할 때마다 주기적으로 가져와야 할까? 아니면 가끔씩만 가져와도 될까?
  • 이 데이터는 얼마나 가변적인가? 옷감 패턴처럼 주기적으로 새 속성을 추가하거나, 유형을 수정해야 할까? 아니면 신발 크기처럼 고정적일까?

몇 년 전 어떤 프로젝트를 진행할 때 몇만개의 페이지를 일일이 들어가 구성 요소를 확인하고 분리해야 하는 작업을 한 적 있는데, 그때 파이썬을 알았더라도 결과물이 좀 더 나을 수 있었을까? 라는 질문을 계속 하게 됐다.

유사한 템플릿을 가진 페이지들과 그렇지 않은 페이지들을 파이썬 코드로 1차 분류를 하고, 유사하지 않은 템플릿을 가진 페이지들만 추가로 확인하는 등의 작업을 할 수 있었다면 좀 더 효율화를 할 수 있었을 것 같다. 그때 조금만 더 용기(?)를 내서 프로젝트에 파이썬을 적용해볼걸 그럤다. 지금이라도 늦지 않았다,

우선 이 책을 끝까지 읽고(부끄럽지만 아직 절반정도밖에 읽지 못했다) 현재 운영중인 서비스의 특성을 고려해 크롤러를 만들어볼 생각이다.

반응형
댓글