파이썬으로 네이버 주식 데이터 스크래핑하는 방법 (BeautifulSoup 사용)

2025. 3. 19. 18:00·프로그래밍/Python

파이썬으로 네이버 주식 데이터 스크래핑하기 (BeautifulSoup 사용)

네이버 금융은 다양한 주식 정보를 빠르게 확인할 수 있는 유용한 플랫폼입니다. 파이썬(Python)을 사용하면 실시간 주식 데이터를 자동으로 수집하고 분석할 수 있습니다. 이 글에서는 BeautifulSoup을 활용하여 네이버 주식 데이터를 가져오는 방법을 소개합니다.

1. 필요한 라이브러리 설치

웹 페이지를 요청하고 HTML을 파싱하기 위해 아래 라이브러리를 설치합니다.

pip install requests beautifulsoup4

2. 네이버 주식 데이터 URL 분석

네이버 금융에서 주식 정보를 확인하려면 종목 코드를 포함한 URL이 필요합니다.
예시: 삼성전자(005930)

https://finance.naver.com/item/main.nhn?code=005930

code=005930 부분이 종목 코드를 의미하며, 다른 종목은 해당 코드만 변경하면 됩니다.

3. 현재 주가 가져오기

삼성전자의 현재 주가를 가져오는 파이썬 예제입니다.

import requests
from bs4 import BeautifulSoup

url = "https://finance.naver.com/item/main.nhn?code=005930"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

price = soup.find("p", class_="no_today").find("span", class_="blind").text
print(f"삼성전자 현재 주가: {price}원")

4. 전일 종가와 시가 정보 가져오기

전일 종가와 시가도 함께 가져올 수 있습니다.

data = soup.find_all("td", class_="first")

previous_close = data[0].find("span", class_="blind").text
open_price = data[1].find("span", class_="blind").text

print(f"전일 종가: {previous_close}원")
print(f"시가: {open_price}원")

5. CSV 파일로 저장하기

가져온 데이터를 CSV 파일로 저장해두면 나중에 분석할 때 유용합니다.

import csv

with open("stock_data.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["종목명", "현재가", "전일 종가", "시가"])
    writer.writerow(["삼성전자", price, previous_close, open_price])

print("데이터가 stock_data.csv에 저장되었습니다.")

6. 전체 코드 정리

import requests
from bs4 import BeautifulSoup
import csv

url = "https://finance.naver.com/item/main.nhn?code=005930"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")

price = soup.find("p", class_="no_today").find("span", class_="blind").text
print(f"삼성전자 현재 주가: {price}원")

data = soup.find_all("td", class_="first")
previous_close = data[0].find("span", class_="blind").text
open_price = data[1].find("span", class_="blind").text

print(f"전일 종가: {previous_close}원")
print(f"시가: {open_price}원")

with open("stock_data.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerow(["종목명", "현재가", "전일 종가", "시가"])
    writer.writerow(["삼성전자", price, previous_close, open_price])

print("데이터가 stock_data.csv에 저장되었습니다.")

주의사항

  • robots.txt 확인: 네이버의 robots.txt를 참고하여 허용된 범위 내에서 스크래핑을 진행해야 합니다.
  • 요청 제한: 너무 짧은 시간 간격으로 요청을 보내면 IP 차단 등의 문제가 발생할 수 있으므로 time.sleep()을 사용해 간격을 조절하세요.

정리

파이썬과 BeautifulSoup을 활용하여 네이버 금융에서 주식 정보를 자동으로 수집하는 방법을 소개했습니다.
이 방법을 활용하면 실시간 주식 데이터 분석이나 개인 포트폴리오 관리에 유용하게 사용할 수 있습니다.


※ 본 글은 개인 학습 및 프로젝트 용도로 작성되었습니다. 웹 스크래핑 시에는 사이트의 이용약관과 정책을 반드시 확인하세요.

반응형
저작자표시 비영리 (새창열림)

'프로그래밍 > Python' 카테고리의 다른 글

파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리  (0) 2025.03.20
파이썬 데이터 검증을 쉽게 해주는 Pydantic 라이브러리 사용법  (0) 2025.03.20
[Python] Pillow 라이브러리로 이미지 처리하는 5가지 방법  (0) 2025.03.19
파이썬으로 PDF 파일 처리하기: PyPDF2, pdfplumber 사용법 정리  (0) 2025.03.18
파이썬 리스트 vs 딕셔너리 차이점 정리: 언제 어떤 자료형을 써야 할까?  (0) 2025.03.18
'프로그래밍/Python' 카테고리의 다른 글
  • 파이썬 로그 관리, loguru로 더 쉽게! 설정부터 파일 저장까지 정리
  • 파이썬 데이터 검증을 쉽게 해주는 Pydantic 라이브러리 사용법
  • [Python] Pillow 라이브러리로 이미지 처리하는 5가지 방법
  • 파이썬으로 PDF 파일 처리하기: PyPDF2, pdfplumber 사용법 정리
큐레이트
큐레이트
저의 일상을 기록하는 블로그입니다.
  • 큐레이트
    큐레이트의 기록
    큐레이트
  • 전체
    오늘
    어제
    • 분류 전체보기 (190)
      • 국내여행 (37)
        • 애견여행 (33)
        • 맛집여행 (2)
      • 프로그래밍 (82)
        • C# (24)
        • Python (24)
        • Flutter (5)
        • .NET (4)
        • ASP (7)
        • Html (5)
        • Tomcat (2)
        • typescript (3)
        • etc (8)
      • 일상생활 (71)
        • 다이어트일지 (70)
        • 기타 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 복이랑스마트스토어
    • 복이랑블로그
  • 공지사항

    • 블로그 소개
  • 인기 글

  • 태그

    국내여행
    pt
    운동일지
    애견동반여행
    다이어트 일지
    Python
    다이어트
    오블완
    제주도애견동반여행
    헬스
    식단관리
    애견여행
    체중기록
    다이어트일지
    식단
    일상생활
    제주도
    오운완
    DevExpress
    iis
    C#
    FastAPI
    Flutter
    애견동반
    제주도여행
    티스토리챌린지
    자동화
    자동매매
    파이썬
    HTML
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
큐레이트
파이썬으로 네이버 주식 데이터 스크래핑하는 방법 (BeautifulSoup 사용)
상단으로

티스토리툴바