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: / = 접근금지)
728x90
'2.1 CS > 기타' 카테고리의 다른 글
[IT] 보일러플레이트 코드 (Boilerplate Code) (2) | 2024.10.17 |
---|---|
Cron 표현식 (0) | 2024.10.09 |
[CS/기타] BackEnd, FrontEnd (0) | 2024.08.28 |
[CS/기타] 웹(WWW) (0) | 2024.08.28 |
댓글