[CD] Crawling
R을 활용한 웹 데이터 수집 및 저장 요약 정리
1. 웹 크롤링 개요 및 rvest 기본 사용법
-
웹 크롤링: 웹에서 HTML 데이터를 자동 수집
-
rvest 패키지: 정적 웹사이트에서 정보 추출에 최적화
-
주요 함수
read_html()
: HTML 페이지 불러오기
html_nodes()
: 선택자에 맞는 노드 선택
html_text()
: 텍스트 추출
html_attr()
: 속성값 추출 (ex: 링크)
2. CSS 선택자와 구조적 데이터 수집
-
CSS 선택자
클래스: .class
아이디: #id
자식/후손/형제 선택도 가능 (ul > li, li + li 등)
-
표 크롤링
html_table()
사용 시 깔끔하게 data.frame
으로 추출
3. 반복 크롤링 및 조건 필터링
반복 URL 크롤링 :페이지 번호, 검색어 등에 따라 URL 반복 생성 → 반복 처리
조건 필터링: str_detect()
, filter()
활용하여 원하는 텍스트만 추출 가능
4. 웹사이트 구조 분석과 예외 처리
-
웹 구조 분석: 개발자 도구 (F12)를 활용해 HTML 구조 및 동적/정적 구분
-
예외 처리: 존재하지 않는 태그 → length() 확인 후 조건 처리
5. 정적 vs 동적 크롤링 차이
정적 크롤링 (rvest): HTML에서 바로 데이터 추출 ex)네이버 뉴스, 위키백과 등
동적 크롤링 (RSelenium): JavaScript 실행 이후 생성된 데이터 추출 ex)네이버 실시간 검색, 무한 스크롤 페이지