본문 바로가기
프로그래밍/R

[기초] R 프로그래밍을 이용한 쉽고 간단한 NAVER 뉴스 크롤링방법 및 소스코드 공유

by IT치트키 2023. 2. 16.

 

안녕하세요 IT치트키 입니다

R 프로그래밍을 이용한 쉽고 간단한 NAVER 뉴스 크롤링방법 및 소스코드 공유 합니다

<목차>
1. 크롤링(crawling)이란?
2. 라이브러리
3. 소스코드

1. 크롤링이란?

크롤링(crawling)은 웹 페이지를 자동으로 탐색하고, 그 페이지의 정보를 수집하는 프로세스를 말합니다. 크롤러(crawler)는 이러한 웹 페이지를 탐색하는 프로그램입니다.

크롤러는 일반적으로 웹 검색 엔진에서 사용되며, 검색 엔진이 인덱싱하고 검색 결과를 반환하는 데 사용되는 데이터를 수집합니다. 크롤러는 링크를 따라 이동하며 페이지의 HTML 코드를 검색하고, 텍스트, 이미지, 비디오 등의 다양한 종류의 콘텐츠를 수집합니다.

크롤링은 웹 페이지에서 정보를 수집하는 데 유용하지만, 웹 페이지의 소유자가 동의하지 않는 경우 불법적일 수 있습니다. 따라서, 합법적인 크롤링 방법을 사용하고, 관련 법률과 규정을 준수하는 것이 중요합니다.

2. 라이브러리

R 프로그래밍으로 네이버 뉴스를 크롤링하기 위해서는 rvestxml2 라이브러리가 필요합니다. 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 구조에 따라 변경될 수 있습니다. 

 

감사합니다

댓글