liebew***
2021-08-20

웹에 존재한다면 그것이 어떤 형태이든 데이터로 추출할 수 있다. 필요한 무기는 이 책과 파이썬뿐. BeautifulSoup, 셀레니움, 테서랙트 등 강력한 파이썬 라이브러리 사용법과 함께 API, 인증, 이미지 및 텍스트 인식, 로그인 처리 등 웹 크롤링의 기초부터 고급 기법까지 종합적으로 다루는 유일한 책. 실제 업무와 생활에 적용할 수 있는 예제가 가득하다. 2판은 예제를 추가 및 업데이트했고 모던 웹에서 거의 모든 종류의 데이터를 가져오는 방법을
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
많은 것들이 가능하다는 파이썬이지만 아쉽게도 난 아직 문법을 익히는 중이라, 배열에서 몇 번째에 들어있는 값 찾기 같은 것들만 가능한 수준이다. 예전에 T아카데미에서 크롤러 만드는 수업이 있어 한 번 들어본 적은 있는데, 코드 타이핑만 따라 치니 어찌어찌해 결과물이 나오긴 했는데 거기까지였다. 그 때는 파이썬이 뭔지도 모르고 화면에 뜨는대로 따라 설치하고 따라 코드를 쳤으니 당연한 결과였겠다.
현재는 파이썬을 활용해 어떤 업무를 추가로 할 수 있을지를 살펴보는 중이라 그 때와는 다르게 접근했다.
책에 있는 코드를 따라 치는 대신 어떤 순서로 코드를 확장해가는지를 살펴봤다. 당장 크롤러를 만드는 것 보다 내가 하고있는 업무에 어떤 부분을 연관지으면 좋을지를 찾아보기 위함이었다.
콘텐츠를 실제로 눈으로 볼 수 없고, 나중에 로그나 텍스트로 확인해야 한다는 것은 지금 내가 하는 업무와 많이 닮아있었다. 동일한 템플릿이 존재해야만 데이터가 깔끔하게 수집이 가능하고, 중간에 변주가 일어나는 부분은 수집이 원활하지 못한 부분까지 닮아있었다.
4장에서 웹 크롤링 모델을 만드는 과정 중 체크리스트 작성과 관련한 것들이 있는데, 이 체크리스트는 내 업무와도 많이 닮아있어 여기에도 옮겨 적어본다.
몇 년 전 어떤 프로젝트를 진행할 때 몇만개의 페이지를 일일이 들어가 구성 요소를 확인하고 분리해야 하는 작업을 한 적 있는데, 그때 파이썬을 알았더라도 결과물이 좀 더 나을 수 있었을까? 라는 질문을 계속 하게 됐다.
유사한 템플릿을 가진 페이지들과 그렇지 않은 페이지들을 파이썬 코드로 1차 분류를 하고, 유사하지 않은 템플릿을 가진 페이지들만 추가로 확인하는 등의 작업을 할 수 있었다면 좀 더 효율화를 할 수 있었을 것 같다. 그때 조금만 더 용기(?)를 내서 프로젝트에 파이썬을 적용해볼걸 그럤다. 지금이라도 늦지 않았다,
우선 이 책을 끝까지 읽고(부끄럽지만 아직 절반정도밖에 읽지 못했다) 현재 운영중인 서비스의 특성을 고려해 크롤러를 만들어볼 생각이다.