IT/Python

[파이썬-크롤링] 네이버 증권 뉴스 크롤링 하기

멋진 선배 2025. 4. 24. 18:50
반응형
반응형

네이버 증권 뉴스(제목, 링크, 내용, 언론사, 날짜) 크롤링 하기

#1단계
#첫번째 뉴스 - 제목, 링크, 내용, 언론사, 날짜

import requests
from bs4 import BeautifulSoup

response = requests.get("https://finance.naver.com/news/mainnews.naver?date=2025-04-23")
html = response.text
soup = BeautifulSoup(html, 'html.parser')

# .articleSubject 클래스 하위에 있는 a 태그 표기
print(soup.select_one(".articleSubject > a"))

# .articleSubject 클래스 하위에 있는 a 태그의 텍스트 표기
print(soup.select_one(".articleSubject > a").text)

# .articleSubject 클래스 하위에 있는 a 태그의 속성표기
print(soup.select_one(".articleSubject > a").attrs)

# .articleSubject 클래스 하위에 있는 a 태그의 href의 값 갖고오기
print("https://finance.naver.com" + soup.select_one(".articleSubject > a").attrs['href'])

# 언론사 찾기
print(soup.select_one(".press").text.strip())

# 날짜 찾기
print(soup.select_one(".wdate").text)

# 2단계
# 1페이지 20개 뉴스 - 제목, 링크, 내용. 언론사, 날짜 출력하기
articles = soup.select(".block1")
for article in articles :
    title = article.select_one(".articleSubject > a").text
    link = "https://finance.naver.com" + article.select_one(".articleSubject > a").attrs['href']
    content = article.select_one(".articleSummary").contents[0].strip()
    press = article.select_one(".press").text.strip()
    wdate = article.select_one(".wdate").text
    print(title, link, content, press, wdate)

 

실행결과

 

반응형