국내증시 마감시황_20230508
Daily 투자일지주간 투자 유행 주간 투자 유행 23년 3월 4주 차 금융위기 불안감에도 반등을 이어간 증시 2주 연속 반등했던 한 주였습니다. 크레딧 스위스, 도이치뱅크 등 유럽 은행에서 파산 위험에 대한 불안함이 있었으나, 시장은 소폭 반등하면서 마감하였습니다. 미국 10년 물 국채 금리는 3.4를 유지했습니다. 시장 리스크가 금융 위기로 이어질지 잘 지켜봐야할 것 같습니다. 경기침체와 금리와 같은 경제 지표를 보면서 보수적으로 투자 의사결정을 내려야 할 것 같습니다.
일자별 시세를 페이지별로 수집하는 함수 만들기
뉴스 기사 수집과 일별 시세 수집에서의 차이? 책상 접근 권한 때문에 useragent를 썼다. def getdaylistitemcode, pageno url을 만든다. url f requests를 통해 html 자료를 받아옵니다. response request.geturl, headers useragent Mozilla5.0 readhtml을 통해 table 태그를 읽어옵니다.
판다스 코드로 데이터 수집하기
pd.readhtml 네이버 일별 시세는 cp949 인코딩으로 불러 올 수 있어요. 기본 인코딩 설정은 utf8 table pd.readhtmlresponse.text 출력해보시면 NaN 결측치 값과, 맨 밑의 페이징 부분도 같이 출력되어서 제거가 필요합니다. 페이징 책상 제거 table0와 table1을 확인해보시면 tabel0에 필요한 데이터가 있습니다. temp table0 table1 은 페이징 책상 .dropna table0 했을 때 나오는 NaN을 dropna를 통해 결측치가 들어있는 row를 제거합니다.
BeautifulSoup
HTML 정보를 파싱해서 요구하는 정보를 찾아옵니다. BeautifulSouphtmldoc해주면 구조화되어 있지 않던 response 출력 결과 자료를 보기 좋게 정렬해줍니다. 함수 생성에 beautifulsoup을 사용 안하는 이유는? pd.readhtml에 책상 태그 기능이 내장되어 있기 때문 from bs4 import BeautifulSoup as bs bsresponse.text를 html에 넣어서 불러서 사용하자. html bsresponse.text 공식 사이트의 매서드를 보자 html.title .table pd.DataFramehtml.table html.a 링크 태그 하나만 가져옵니다.
라이브러리 로드
import pandas as pdimport numpy as npimport requests
itemcode itemname pageno 1url f21. pd.readhtmlurl테이블을 찾을 수 없습니다.고 오류가 난다. readhtml은 책상 태그가 있어야 불러올 수 있어요. url 들어가서 inspect 해보시면 책상 태그가 있는데도 불러올 수 없습니다..
tqdm, trange
프로세스 전개 상태를 보여주는 시스템 range는 파이썬 표준 라이브러리에서 제공하는 기능, tqdm에서 제공하는 trange. 원래는 별도 설치해야 하지만 코랩에서는 설치되어 있어서 import 하면 됩니다. tqdm 공식 문서 import time 하나의 데이터프레임으로 제작하기 데이터는 newslist라는 변수에 들어있음 dfnews pd.concatnewslistdfnews.shape 0203번 실습파일 06번 이론파일네이버 금융 국내증시 에서 url을 가져옵니다.
inspectnetwork css는 스타일, doc 등 클릭해보면서 요구하는 데이터를 찾을 수 있어요.
네이버금융 스크래핑
위 이미지에서 볼 수 있는 정보를 엑셀, Python 등으로 분석하기 위해 웹의 정보를 스크래핑하는 코드를 작성했다. 각종 주석을 포함해서 불과 51줄에 불과하며 주석으로 충분한 전달이 될 것이라고 믿기에 별도로 설명하지 않습니다.
자주 묻는 질문
일자별 시세를 페이지별로 수집하는 함수
뉴스 기사 수집과 일별 시세 수집에서의 차이? 책상 접근 권한 때문에 useragent를 썼다. 구체적인 내용은 본문을 참고 해주시기 바랍니다.
판다스 코드로 데이터
pd 좀 더 구체적인 사항은 본문을 참고해 주세요.
BeautifulSoup
HTML 정보를 파싱해서 요구하는 정보를 찾아옵니다. 궁금한 사항은 본문을 참고하시기 바랍니다.