320x100
320x100
라이브러리 로드
import pandas as pd
수집할 URL 정하기
# 종목번호와 상장사 이름을 item_code와 item_name으로 설정
item_code = "352820"
item_name = "빅히트"
# item_code = "326030"
# item_name = "SK바이오팜"
# 종목 URL 만들기
url="https://finance.naver.com/item/sise_day.nhn?code=352820&page=3"
print(url)
requests를 통한 HTTP 요청
- Requests: HTTP for Humans™ — Requests documentation
- Quickstart — Requests documentation # custom-headers
import requests
response=requests.get(url)
response.text
headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}
response=requests.get(url,headers=headers)
response.text
BeautifulSoup 을 통한 table 태그 찾기
from bs4 import BeautifulSoup as bs
html=bs(response.text,"lxml")
html
temp=html.select("table")
temp
str(temp)
pandas 코드 한 줄로 데이터 수집하기
# read_html을 이용하여 url의 page내의 값을 DataFrame으로 받아옵니다.
# cp949는 한글 인코딩을 위해 사용합니다. 기본 인코딩 설정은 utf-8 이며,
# 네이버의 일별 시세는 cp949 인코딩으로 불러올 수 있습니다.
# 데이터를 로드 했을 때 한글 인코딩이 깨진다면 대부분 cp949 로 불러올 수 있습니다.
table=pd.read_html(str(temp))
table
# table[0]와 table[1]을 확인하여 보면 table[0]에 필요한 데이터들이 있습니다.
table[0]
# dropna를 통해 결측치가 들어있는 row를 제거합니다.
temp=table[0].dropna()
temp
페이지별 데이터 수집 함수 만들기
def get_day_list(item_code,page_no):
url=f"https://finance.naver.com/item/sise_day.nhn?code={item_code}&page={page_no}"
headers={"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"}
response=requests.get(url,headers=headers)
html=bs(response.text,"lxml")
temp=html.select("table")
table=pd.read_html(str(temp))
table=table[0].dropna()
return table
# 함수가 잘 만들어졌는지 확인
get_day_list("352820",2)
반복문을 통한 전체 일자 데이터 수집하기
- (주의) 기간이 긴 데이터를 수집할때는 서버에 부담을 주지 않기 위해 time.sleep()값을 주세요.
len(item_list)
수집한 데이터 하나의 데이터프레임으로 합치기
item_list[0]
df.head()
320x100
320x100
'빅데이터 관련 자료 > Python' 카테고리의 다른 글
pip 설치하기 (0) | 2022.02.25 |
---|---|
파이썬 간편하게 설치하기 (0) | 2022.02.24 |
금융 데이터, 주식 관련 데이터 분석, 네이버 금융 개별종목 수집 (0) | 2022.02.20 |
FinanceDataReader 파이썬 실습 - 2 (0) | 2022.02.18 |
전국 신규 민간 아파트 분양가격 동향 데이터 분석 - (4) (0) | 2022.01.18 |