printf("ho_tari\n");

주식 시세를 알려주는 알리미 (python) 본문

Raspberry Pi

주식 시세를 알려주는 알리미 (python)

호타리 2023. 9. 22. 10:40

<stockprice.py>

import requests
from bs4 import BeautifulSoup   # beautifulsoup 라이브러리 가져오기

# get_price 함수 정의, 주식종목코드(com_code)를 인자로 받아서 해당 종목의 현재 주식 가격을 가져오는 함수
def get_price(com_code):
    url = "https://finance.naver.com/item/main.nhn?code=" + com_code
    # 네이버 금융 웹페이지에서 주식 정보를 가져올 URL 생성, 주식종목코드(com_code)를 URL에 포함시킨다
    result = requests.get(url, headers = { 'User-agent' : 'Mozilla/5.0' })
    # requests.get() 함수를 사용하여 생성한 URL에 GET 요청을 보내고 웹페이지의 응답을 result 변수에 저장, 
    # headers 옵션은 웹페이지에 요청할때 사용자 에이전트 정보를 설정하는데 이것은 웹페이지가 요청을 브라우저에서 오는 것으로 인식하도록하는 역할
    bs_obj = BeautifulSoup(result.content, "html.parser" )
    # beautifulsoup을 사용하여 웹페이지의 HTML 내용을 파싱하고 파싱된 결과를 bs_obj 변수에 저장
    no_today = bs_obj.find( "p", { "class":"no_today" })
    blind_now = no_today.find( "span", {"class":"blind" })
    # bs_obj.find() 함수를 사용하여 HTML에서 주식 가격 정보가 들어있는 요소를 찾는다, no_today 변수는 해당 요소를 가리킴, 
    # no_today.find() 함수를 사용하여 no_today 요소 내에서 실제 주식 가격 정보가 등어 있는 <span> 태그를 찾음, 이 정보는 blind_now 변수에 저장
    return blind_now.text
    # blind_now 변수에서 추출한 주식 가격 정보를 텍스트 형식으로 반환

print( "삼성전자:", get_price("005930"))
print( "카카오:", get_price("035720"))
print( "네이버:", get_price("035420"))
# get_price 함수를 호출하여 주식 가격 정보를 출력

<compile 결과>