반응형
반응형
네이버 증권 뉴스(제목, 링크, 내용, 언론사, 날짜) 크롤링 하기
#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)
실행결과
반응형
'IT > Python' 카테고리의 다른 글
[Python - 크롤링] 네이버 증권 뉴스 엑셀파일 저장하기 (0) | 2025.04.25 |
---|---|
[Python - 크롤링] 한국 주식 종가 갖고 오는 프로그램 코드 (0) | 2025.04.25 |
[파이썬 오류] IndentationError: unindent does not match any outer indentation level (0) | 2025.04.23 |
[파이썬 - 크롤링] 텍스트를 포함하는 태그 찾기 (0) | 2025.04.23 |
[파이썬 - 크롤링] 특정 텍스트와 정확하게 일치하는 태그 찾는 방법 (0) | 2025.04.22 |