본문 바로가기
Python/Crawling

[Crawling]_웹 페이지의 데이터를 가지고 올 수 있을까?

by ssolLEE 2023. 8. 4.
반응형

 

 

컴퓨터 관련 공부를 하기 전에도, 컴퓨터를 유독 많이 좋아하는 친구들의 대화 중에 '크롤링'이란 단어를 들은 기억이 납니다. 저는 수영을 좋아해서 "수영할 때 자유형 얘기하는거야?"라며 장난식으로 대화에 껴들었지만 금방 대화에 흥미를 잃었던 기억이 나네요. ㅎㅎ 드디어 그 대화 속 크롤링(crawling)에 대해 공부해봅니다. 

 

chat GPT에게 물어봤습니다. 

 

더보기

크롤링(crawling)은 웹 페이지나 웹 사이트에서 정보를 수집하는 과정을 말합니다. 일반적으로 인터넷에 있는 다양한 웹 페이지를 자동으로 탐색하면서 원하는 데이터를 추출하는 작업을 의미합니다. 크롤링은 웹 크롤러(웹 스파이더, 웹 로봇 등으로도 불림)라는 프로그램을 사용하여 수행됩니다.

크롤링 과정은 다음과 같이 이루어집니다:

  1. 웹 페이지 탐색: 크롤러는 시작점으로부터 웹 페이지를 탐색하며 링크를 따라 이동합니다. 이 링크들은 일반적으로 웹 사이트 내부의 다른 페이지들로 연결되어 있습니다.
  2. 웹 페이지 다운로드: 각 웹 페이지에 접근할 때, 크롤러는 해당 페이지의 HTML 코드를 다운로드합니다. 이 코드에는 페이지의 내용과 구조가 포함되어 있습니다.
  3. 데이터 추출: 다운로드한 HTML 코드에서 필요한 정보를 추출합니다. 이 작업은 주로 정규 표현식이나 파싱 라이브러리를 사용하여 수행됩니다.
  4. 데이터 저장: 추출한 정보를 데이터베이스, 스프레드시트, 텍스트 파일 등에 저장하여 활용할 수 있도록 합니다.

크롤링은 다양한 목적으로 사용될 수 있습니다. 예를 들어, 검색 엔진은 크롤링을 통해 웹 페이지의 내용을 수집하여 검색 결과를 생성합니다. 또한 가격 비교 웹 사이트, 뉴스 집계 사이트, 소셜 미디어 분석 등에서도 크롤링이 사용되어 웹 상의 정보를 수집하고 분석합니다.

크롤링을 할 때에는 로봇 배제 표준(robots.txt)을 준수하고, 서버 부하를 줄이기 위해 적절한 딜레이와 요청 제한을 설정하는 등의 예의를 지켜야 합니다. 또한 법적인 제약사항을 고려하여 법적인 문제를 피해야 합니다.

요약하면 내가 원하는 데이터를 웹 페이지로부터 추출하는 작업입니다. 

단순히 드래그 하는 것과는 다릅니다.

 

이 카테고리에서는 웹 크롤링에 대해 함께 공부해볼까 합니다. 

그 첫번째로, 크롤링에 많이 쓰이는 BeautifulSoup 라이브러리에 대해서 알아보겠습니다.

감사합니다.