python

[python] chatGPT와 beautifulsoup4를 활용한 증권 데이터 크롤링

Dev.Congsik 2024. 9. 6. 14:43
728x90
  • python으로 requests와 BeautifulSoup 라이브러리를 사용하여 네이버 증권 페이지에서 주식 정보를 가져오는 아주 간단한 예제입니다.
  • chatGPT 4.0 / pycharm community edition 2024.2.1 / python 3.12 버전으로 진행하였습니다.

 

  • stockinfo 프로젝트 생성

=> stockinfo.py 파일 생성

 

  • 라이브러리(requests, beautifulsoup4) 설치
pip install requests beautifulsoup4
//터미널이나 커맨드 라인에서 위 명령어를 실행

라이브러리 설치완료

 

  • 이제 파이썬 코드로 네이버 증권 데이터를 크롤링해보겠습니다.
  • 예시로 삼성전자(005930) 주식 정보를 가져오는 코드를 작성해보겠습니다.
import requests
from bs4 import BeautifulSoup

# 네이버 증권 삼성전자 종목정보 페이지 URL
url = 'https://finance.naver.com/item/main.nhn?code=005930'

# HTTP GET 요청을 보내고 응답을 받음
response = requests.get(url)

# 응답의 HTML 내용을 파싱
soup = BeautifulSoup(response.text, 'html.parser')

# 주가 정보를 담고 있는 태그 탐색
price_tag = soup.find('p', class_='no_today')
price = price_tag.find('span', class_='blind').text

# 회사 이름을 담고 있는 태그 탐색
name_tag = soup.find('div', class_='wrap_company')
name = name_tag.find('h2').text

# 회사 이름과 현재 주가 출력
print(f"회사 이름: {name}")
print(f"현재 주가: {price}원")

 

위 코드는 다음과 같은 과정을 거칩니다:

  1. requests.get(url)을 사용하여 네이버 증권 페이지에 HTTP GET 요청
  2. BeautifulSoup을 사용하여 응답의 HTML 내용을 파싱
  3. find 메서드를 사용하여 주가 정보와 회사 이름을 포함하는 HTML 태그를 탐색
  4. text 속성을 사용하여 태그 내의 텍스트를 추출
  5. 추출한 정보를 출력

 

  • 실행 결과

네이버 증권 웹 페이지에서 가져온 정보와 일치

 

  • 이를 응용하여 발전시키면 다양한 종목정보들을 불러와 모니터링하는 프로그램도 충분히 가능해보입니다.
728x90

'python' 카테고리의 다른 글

python?  (6) 2024.09.06