본문 바로가기
프로그래밍/파이썬

[파이썬] 실시간 네이버 뉴스기사 크롤링(crawling) 방법 및 소스코드 공유

by IT치트키 2023. 2. 16.

 

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

파이썬을 활용해서 네이버뉴스 크롤링 방법 및 소스코드에 대해 알아보겠습니다

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

1. 크롤링이란?

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

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

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

 

2. 라이브러리

네이버 뉴스를 크롤링하기 위해서는 requestsBeautifulSoup 라이브러리가 필요합니다. requests는 HTTP 요청을 보내고 받기 위한 라이브러리이며, BeautifulSoup는 HTML 파싱을 위한 라이브러리입니다.

 

3. 소스코드

래는 파이썬을 이용한 네이버 뉴스 크롤링 소스 코드 예시입니다.

import requests
from bs4 import BeautifulSoup

url = "https://news.naver.com/main/list.nhn?mode=LSD&mid=sec&sid1=100"

response = requests.get(url)
html = response.text

soup = BeautifulSoup(html, 'html.parser')

articles = soup.select('.list_body > ul > li > dl')

for article in articles:
    title = article.select_one('dt:not(.photo) > a').text
    link = article.select_one('dt:not(.photo) > a')['href']
    summary = article.select_one('dd').text.strip()
    print(title, link, summary)

위 코드는 네이버 뉴스 메인 페이지에서 정치 섹션의 기사 제목, 링크, 요약 정보를 크롤링하는 예시입니다. select 함수를 사용하여 HTML 요소를 찾고, select_one 함수를 사용하여 첫 번째로 일치하는 HTML 요소를 찾습니다. 네이버 뉴스 페이지의 HTML 구조에 따라 변경될 수 있습니다.

 

감사합니다

댓글