반응형
오늘은 제주 맥주 주가의 종가를 가져와 글프로 출력해보겠습니다.
왜 자꾸 제주 맥주로만 하는건지 궁금해 하실 것 같은데
딱히 이유는 없습니다.
사실 전 칭따오를 제일 좋아합니다.
코드를 만들어 봅시다.
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()
#실행하려면 엔터 필요
#데이터 가공 후 출력하기
완료 되었습니다.
자세한 코드 설명은 없었는데요,
이번 글은 지금까지 진행한 코드를 모아서 사용하는 느낌이었습니다.
책의 진도가 드디어 파이썬 데이터 분석 응용으로 들어가네요.
다음 글부터 조금 어려워질지도 모르겠습니다.
기대가 되네요 전.
반응형
'코딩 공부 > python' 카테고리의 다른 글
시세조회 API 사용하기 (0) | 2022.02.18 |
---|---|
각 사이트의 주식 데이터 비교하기 (야후 파이낸스의 문제점??) (0) | 2022.02.16 |
일별 시세 전체 페이지 가져오기, 파이썬 증권분석 코드 오류 업데이트 (0) | 2022.02.14 |
Python으로 웹 데이터 스크래핑하기 (0) | 2022.02.11 |
Pandas 를 이용한 주식 수익률 구하기 (2) | 2022.02.10 |
댓글