안녕하세요 IT치트키 입니다
R 프로그래밍을 이용한 쉽고 간단한 NAVER 뉴스 크롤링방법 및 소스코드 공유 합니다
<목차>
1. 크롤링(crawling)이란?
2. 라이브러리
3. 소스코드
1. 크롤링이란?
크롤링(crawling)은 웹 페이지를 자동으로 탐색하고, 그 페이지의 정보를 수집하는 프로세스를 말합니다. 크롤러(crawler)는 이러한 웹 페이지를 탐색하는 프로그램입니다.
크롤러는 일반적으로 웹 검색 엔진에서 사용되며, 검색 엔진이 인덱싱하고 검색 결과를 반환하는 데 사용되는 데이터를 수집합니다. 크롤러는 링크를 따라 이동하며 페이지의 HTML 코드를 검색하고, 텍스트, 이미지, 비디오 등의 다양한 종류의 콘텐츠를 수집합니다.
크롤링은 웹 페이지에서 정보를 수집하는 데 유용하지만, 웹 페이지의 소유자가 동의하지 않는 경우 불법적일 수 있습니다. 따라서, 합법적인 크롤링 방법을 사용하고, 관련 법률과 규정을 준수하는 것이 중요합니다.
2. 라이브러리
R 프로그래밍으로 네이버 뉴스를 크롤링하기 위해서는 rvest와 xml2 라이브러리가 필요합니다. rvest는 웹 페이지 스크래핑을 위한 라이브러리이며, xml2는 XML 파싱을 위한 라이브러리입니다.
3. 소스코드
아래는 R 프로그래밍을 이용한 네이버 뉴스 크롤링 소스 코드 예시입니다.
library(rvest)
library(xml2)
url <- "https://news.naver.com/main/list.nhn?mode=LSD&mid=sec&sid1=100"
html <- read_html(url)
articles <- html %>% html_nodes('.list_body > ul > li > dl')
for (article in articles) {
title <- article %>% html_nodes('dt:not(.photo) > a') %>% html_text()
link <- article %>% html_nodes('dt:not(.photo) > a') %>% html_attr('href')
summary <- article %>% html_nodes('dd') %>% html_text() %>% str_trim()
print(paste(title, link, summary))
}
위 코드는 네이버 뉴스 메인 페이지에서 정치 섹션의 기사 제목, 링크, 요약 정보를 크롤링하는 예시입니다. html_nodes 함수를 사용하여 HTML 요소를 찾고, html_text 함수를 사용하여 요소의 텍스트를 추출합니다. 네이버뉴스 페이지의 HTML 구조에 따라 변경될 수 있습니다.
감사합니다
댓글