본문 바로가기
코딩 공부/python

제주맥주 종가 차트 파이썬으로 그려보기

by Camel_coding_food 2022. 2. 16.
반응형

저도 맥주 좋아합니다.


 

오늘은 제주 맥주 주가의 종가를 가져와 글프로 출력해보겠습니다.

 

왜 자꾸 제주 맥주로만 하는건지 궁금해 하실 것 같은데

 

딱히 이유는 없습니다.

 

사실 전 칭따오를 제일 좋아합니다.

 

코드를 만들어 봅시다.

 

import pandas as pd
import requests
from bs4 import BeautifulSoup
from matplotlib import pyplot as plt

#필요한 모듈들을 설치해주고, 사용하기 편하게 별명을 지어줍니다.

 

이번에는 코드가 좀 길어서 덩어리로 잘라서 해보겠습니다.

 

 

 

url = 'https://finance.naver.com/item/sise_day.nhn?code=276730&page=1' 
html = requests.get(url, headers={'User-agent':'Mozilla/5.0'}).text
bs = BeautifulSoup(html, 'lxml')
pgrr = bs.find('td', class_='pgRR')
s = str(pgrr.a['href']).split('=')
last_page = s[-1]

#마지막 페이지를 구해주는 코드입니다. 전 글에서 했죠?

자세한 설명은 파이썬 카테고리 글 중에 다룬 글이 있습니다.

거기서 참고하시길.

 

 

 


import urllib.request as urllib
df =pd.DataFrame()
sise_url ='https://finance.naver.com/item/sise_day.nhn?code=276730'

opener = urllib.build_opener() 
opener.addheaders = [("User-Agent" , "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36")]

for page in range(1, int(last_page)+1):
    url = '{}&page={}'.format(sise_url, page)
    # html =requests.get(url, headers={'User-agent' : 'Mozila/5.0'}).text
    df = df.append(pd.read_html(opener.open(url), header=0)[0])

#전체 페이지를 읽어오겠습니다.
#저와 같은 책을 보고계시다면 아마 좀 다를겁니다.
#네이버에서 웹크롤링 허용 방식이 달라져 여기부분 코드는 책과 약간 다릅니다.

여기도 이전글 참고.

 

 

 

df = df.dropna()
df = df.iloc[0:30]
df = df.sort_values(by='날짜')

plt.title('jeju bear (close)')
plt.xticks(rotation=45)
plt.plot(df['날짜'], df['종가'], 'co--')
plt.grid(color='gray', linestyle='--')
plt.show() 
#실행하려면 엔터 필요

#데이터 가공 후 출력하기

 

 

완료 되었습니다.

 

자세한 코드 설명은 없었는데요,

 

이번 글은 지금까지 진행한 코드를 모아서 사용하는 느낌이었습니다.

 

 

 

책의 진도가 드디어 파이썬 데이터 분석 응용으로 들어가네요.

 

다음 글부터 조금 어려워질지도 모르겠습니다.

 

기대가 되네요 전.

반응형

댓글