본문 바로가기
2.1 CS/기타

웹 크롤링 vs 웹 스크래핑

by Dohi._. 2024. 10. 5.
728x90

 

웹에서 정보를 추출하기 위해서

Python(BeautifulSoup), Java(Jsoup)등 다양한 라이브러리를 이용하여

웹 크롤링, 웹 스크래핑을 주로 이용합니다.

 

웹 크롤링/스크래핑의 둘의 차이점 이없이 흔하게 크롤링한다라고 많이하지만

각 의미에 차이점이 있어서 간단하고 빠르게 정리 해보도록 하겠습니다 

 

의미

웹 스크래핑(Web Scraping)

  • 웹 페이지에서 특정 데이터를 추출하는 기술
    페이지의 HTML 코드를 분석하여 원하는 텍스트, 이미지, 링크 등 다양한 정보를 추출한 후 저장
  •  HTML 태그, CSS 선택자 등을 이용해 특정 데이터만 추출하는 방식
  • 주로 데이터를 수집하고 분석하기 위해 사용
  • 예를 들어, 쇼핑몰 웹사이트에서 특정 상품의 가격 정보를 모으는 경우 웹 스크래핑을 사용합니다.

웹 크롤링(Web Crawling)

  • 웹 크롤링은 인터넷 상의 여러 웹사이트를 자동으로 탐색하면서,
    웹 페이지의 URL을 수집하거나 페이지 전체의 정보를 다운로드하는 기술
    이 과정에서 HTML, CSS, 자바스크립트 파일 등의 전체 페이지를 수집
  • 검색 엔진에서 주로 사용되며, 수집한 데이터를 기반으로 검색 결과를 제공하기 위해 사용
  • 예를 들어, 구글과 같은 검색 엔진이 이를 사용하여 방대한 양의 웹 페이지를 수집하고 색인화합니다.

 

즉, HTML를 받고 문서를 파싱해서 필요한 데이터를 추출하는 과정이면서

둘의 큰 차이는  특정한 웹 페이지에서 특정 데이터를 가져오거나(웹 스크래핑)이거나

URL을 타고다니며 반복적으로 데이터를 가져오는(웹 크롤링) 과정의 차이입니다.

 

주요 사용 사례

웹 스크래핑

  • 가격 비교 사이트에서 가격 데이터를 추출
  • 뉴스 사이트에서 기사 제목과 내용을 모으기
  • 소셜 미디어에서 게시글 데이터 수집

웹 크롤링

  • 검색 엔진에서 웹사이트 색인화
  • 데이터베이스에 웹사이트 정보를 저장해 사용자가 검색할 수 있도록 제공

 

 

하지만 웹 크롤링/스크래핑 을 사용하면서 주의해야하는 사항도 있다.

  • 법적인 이슈 고려 
    • 상업적으로 사용하기 위해서는 저작권이나 데이터베이스권을 침해하지 않는지 항상 고려
      • 사적 정보나 허가받지 않은 데이터를 스크래핑하는 경우 주의
      • 해당 웹 사이트의 이용 약관을 반드시 확인
    • 나의 웹 크롤링/스크래핑이 서버에 영향을 미치지 않는선
      • 과도한 트래픽을 발생할 수 있으므로 딜레이를 두거나 해야함
  • 로봇 배제 표준(Robots Exclusion Standard)을 준수
    • 로봇 배제 표준은 웹 사이트의 소유자가 로봇에 대한 액세스 권한을 제어하는 프로토콜
    •  robots.txt 파일을 반드시 확인 robots.txt 파일은 메인URL/robots.txt 에 있다.

robots.txt 
robots.txt는 웹사이트에서 크롤링하며 정보를 수집하는 검색엔진 혹은 크롤링 할 사용자가 접근,나 정보수집에 대한 해도되는 페이지, 안되는 페이지를  알려주는  역할을 하는 가이드이다.
robots.txt 파일은 특정 검색엔진을 차단하는 하여 과부화 방지로 사용하기도한다(Disallow: /  = 접근금지) 

 

제 블로그 robots.txt

 

728x90

'2.1 CS > 기타' 카테고리의 다른 글

[CS/기타] BackEnd, FrontEnd  (2) 2024.08.28
[CS/기타] 웹(WWW)  (0) 2024.08.28

댓글