[크롤링] 메타코드M 웹 크롤링 기초 강의_크롤링 입문, 뉴스 크롤링

 

데이터를 수집하려면 필수적인 크롤링, 이쪽 스킬이 부족하다고 생각하여 강의를 신청하였다. 올해 새롭게 런칭한 강의라 기대가 됬는데 지루하지 않게 핵심이 쏙쏙담겨져 있어서 굉장히 만족스러웠다(약 4시간에 콤팩트한 내용 굳)

배운 내용을 짧게나마 정리해보고자 한다!

 


먼저 실습을 하면서 제공받은 파일들이다. 공부하면서 학습한 코드가 담겨있다.

사실 코드를 따라 치면서 헷갈릴때가 있는데 참고하면서 틀린 부분을 찾으니 도움이 많이 됬다.

총 뉴스, 코레일, 여행사이트 이렇게 3가지의 사이트에서 실습을 진행하는데 여행사이트는 데이터분석까지

진행하는 것을 보여줘서 굉장히 만족스러웠다. 그 부분은 2편에서 담겠다.

 

 

크롤링을 하면서 가장 기본이 되는 Request

말그대로 데이터를 주도록 요청하는 것이다. 그리고 우리는 서버에서 응답을 받게 되는데 반응은 대표적으로 3가지가 있다

200: 정상적으로 접속

404: Not Found, 해당 페이지 또는 리소스를 찾을 수 없음

400: Bad Request, 요청을 이해할 수 없거나 처리할 수 없음

 

 

 다음으로 우리가 가져올 정보를 쏙쏙 담고 있는 HTML, 사실 상대적으로 초심자가 배우기 쉬운 마크업 언어이다.

<!DOCTYPE html>으로 문서의 형식을 정의하는 것부터 시작하여 문서의 정보를 포함하는 <head>

제목을 담는 <title>, 실제로 보이는 콘텐츠를 포함하는 부분인 <body>, 문단 <p>, 링크<a href=> 등등 완전히

외워서 쓸 필요는 없지만 보고 뭔지는 알아야 한다.

프로젝트에서 웹개발을 해보았기에 친숙한 개념이라 반가웠다.

 

 

먼저 requests와 Beautifulsoup에 대한 학습!

request 라이브러리는 Python에서 HTTP 요청을 보내는 데 사용되는 강력한 라이브러리이다. 다음으로 BeautifulSoup는 HTML 및 XML 문서를 파싱하고 데이터를 추출하는 데 사용되는 라이브러리이다. 이 두 라이브러리를 함께 사용하면 웹 크롤링을 효과적으로 수행할 수 있다.

코드를 미리 제공받아서 좀 더 쉽게 학습할 수 있었다. 그리고 2024년 최신 버전이라는게 크다..!

 

 

크롤링을 할때 Beautifulsoup와 Selenium, 두 가지의 라이브러리를 많이 사용한다. 차이점으로는 Beautifulsoup는 HTML과 XML 문서를 파싱하고 데이터를 추출하는데 강점이 있지만 JavaScript로 생성된 동적 콘텐츠를 처리하는 데는 한계가 있다. 반면 Selenium 은 웹 브라우저를 자동으로 제어할 수 있어 JavaScript로 생성된 콘텐츠도 처리할 수 있지만 Beautifulsoup에 비해 속도가 느리다. 상황에 맞는 방법을 사용하는 것이 중요하다.

 

그리고 강의에서 RSS에 대한 설명도 들어있었다.  RSS란 웹 사이트에서 컨텐츠를 사용자에게 쉽게 배포하기 위한 표준 포맷을 의미한다. 여기서 가장 큰 장점은 방문하지 않아도 업데이트 사항을 확인할 수 있다는 것인데 일일이 확인할 필요가

없다는 건 정말 큰 장점이다. RSS 피드를 구독하여 새로운 콘텐츠를 실시간으로 받아볼 수 있음으로 이 기술을 습득하면

좀 더 편하게 정보를 얻을 수 있겠다!


 

기초적인 크롤링을 배웠으니 실제 수집과 데이터 분석을 준비해보고자 한다. 샘플 강의도 있으니 관심있으면 추천!