시작하기
지금부터 루비온레일즈라는 프레임워크를 사용해서 웹 크롤링하는 방법에 대해서 공부해볼 겁니다.
참고로 루비(Ruby) 언어와 Ruby on rails(루비온레일즈)를 사용하지만, 전체적인 크롤링 개념은 다루고 있으므로 다른 언어로 공부하고 싶으신 분들에게도 도움이 될거라고 생각합니다.
Q : "저는 웹 크롤링을 하고싶습니다. 뭐부터 하면 되나요?"
A : "음... 선택지를 줄게 골라봐."
첫 번째 해야할 일이 무엇일까?
- "웹 크롤링하는 방법", "Web scraping source file"을 검색해서 본다.
- 크롤링을 할 줄 아는 친구에게 밥을 사주고 부탁한다.
- 크롤링 알바를 돈을 주고 고용한다.
- 웹 크롤링을 하려는 페이지를 분석한다.
- 문법을 알아야하니까 루비나 파이썬 서적을 사서 언어를 처음부터 공부하고 생각한다.
저도 처음에는 1번을 선택했습니다. 그 다음에는 5번 그리고 2번을 하려다 4번이라는 결론에 도달했습니다.
웹 크롤링이나 스크래핑에 관하여 질문을 던지면 보통 비슷한 답변이 돌아왔습니다.
선배1 : (수집하려는 페이지 소스를 보고...) "야 겁나 쉽네! 이렇게 저렇게 하면 끝! 쉽네! 술이나 먹자!"
=ㅅ=;;; 그렇게 몇 명을 찾아다니다가 이런 말을 들었습니다.
"웹 크롤링이라고 하는 작업은 정형화된 일이 아니고, 페이지 마다 다르기 때문에 먼저 수집하려는 페이지를 분석해봐. 어떤 규칙을 통해 짜여있는지 그리고 원하는 정보는 어떻게 구성되어 있는지를 분석하는 것부터 시작해봐."
그래서 저는 우선 원하는 정보를 나열하고 페이지를 뜯어서 분석하기 시작했습니다. 제가 생각하는 정답은 4번이었고 직접하고 싶다면 페이지 분석이 첫번째입니다. 개념없는 사람이 대충 짠 코드가 아니라면 페이지의 태그 구성은 잘 짜여있어서 추출하기도 편할 겁니다.
그럼 다음 챕터부터는 '동국대학교 공지사항'을 예시로 해서 페이지 분석을 시작해보겠습니다.