/파이썬으로 Data Camp 커리큘럼 크롤링하기
datacamp cralwer

파이썬으로 Data Camp 커리큘럼 크롤링하기

최근 데이터 분석을 공부하며 Data Camp에서 여러 강의를 들고 있다. 하나의 강의를 시작할 때마다 커리큘럼 등 강좌 정보를 github에 공유하고 있는데, 일일이 타이핑하다보니 은근히 시간이 오래 걸렸다. 크롤러를 만들기 전에는 아래의 강의 정보, 커리큘럼을 일일이 타이핑했었다.

데이터 캠프 커리큘럼
일일이 타이핑했었던 커리큘럼

크롤링 전 확인해야 할 사항

크롤링 전 확인해야 할 것이 있다. 해당 홈페이지의 robots.txt 파일이다. robots.txt는 해당 홈페이지의 어디까지 크롤링을 허용할 것인지를 기록해둔 곳이다. Data camp의 robots.txt를 확인한 결과, Data camp는 강의 커리큘럼에 대한 크롤링을 금지하고 있지 않았다.

사용한 도구와 원리

크롤러를 만드는 방법엔 다양한 방법이 있다. 그 중 beautifulsoup 패키지와 정규표현식을 이용해 만들었다. 코드는 내 github에서 확인 가능하다.

  • beautifulsoup 패키지를 이용해 html 태그를 가져온다.
  • 이 중 가져오고 싶은 텍스트의 태그와 class를 가져온다.
  • 만약 한번에 크롤링 할 수 없다면, 반복문을 사용해 가져온다.
  • github에 바로 업로드할 수 있게 markdown 문법에 맞도록 출력한다.
  • 위의 과정을 UDF로 만들어 다음에도 간편하게 사용할 수 있도록 했다.

크롤러 하나 만들었다고 글까지..?

사실 코드만 보면 굉장히 간단해서 ‘뭐 이런 걸로 글까지 쓰나’ 생각이 들 수도 있지만, 이게 만들고 보면 은근히 재밌고 성취감이 든다. 다른 사람의 영상을 보며 ‘코드 받아쓰기’를 하는 것과 실제로 내게 닥친 문제를 해결하는 것은 완전히 다른 경험이다. 이 경험을 토대로 나중에 더 고급 크롤러를 만들기 위해 기록해보았다. 다음엔 셀레늄을 사용해서 동적 페이지를 크롤링해 봐야겠다.