[AIS7] Web scraping (1)

BBakHye·2022년 9월 28일
0

🦁 AI SCHOOL 7기

목록 보기
1/52
post-thumbnail

❗ 해당 게시물에서 다루고 있는 코드는 멋쟁이사자처럼 AI SCHOOL 7기에서 제공되었습니다.

웹 데이터 수집 시 유의사항

1. 로봇 배제 표준 (robots.txt):

서비스 제공자가 어떤 페이지를 스크래핑 해도 되고, 안 되는지 구체적으로 명시하는 텍스트 정보.
데이터 수집 전 robots.txt 코드 확인!

2. 저작권:

오픈 라이센스인지 확인 - 공공데이터라고 해서 무작정 데이터 수집을 하면 안됨.

3. 무리한 네트워크 요청:

한 번에 너무 많은 데이터를 요청면 DDOS 공격으로 의심 받을 수 있음
time.sleep() 으로 시간 간격을 두고 데이터를 가져오는 것이 매너!

❗ 웹 사이트가 리뉴얼되면 기존 코드로 데이터를 수집해 올 수 없게 된다.

FinanceDataReader 란?

👉 한국 주식 가격, 미국주식 가격, 지수, 환율, 암호화폐 가격, 종목 리스팅 등 금융 데이터 수집 라이브러리
GitHub 설명

Web scraping using FinanceDataReader

1. 라이브러리 설치 및 pandas와 numpy 불러오기

!pip install -U finance-datareader

import pandas as pd
import numpy as np
import FinanceData Reader as fdr
    
# 라이브러리 버전 확인하기
fdr.__version__

2. 한국거래소 상장종목 전체 가져오기

# StockListing 기능을 사용해서 KRX 정보를 불러오고 변수 생성
df = fdr.StockListing("KRX")

# 요약정보를 통해 결측치 확인
df.info()

# 기술통계 값 확인
df.describe()

3. 파일로 저장하기

# to_csv로 Dataframe을 데이터 저장용 파일인 CSV 파일로 저장

# unnamed라는 인덱스를 지우기 위해 index = False 추가
# encoding = "cp949"를 사용해 한글이 깨지는 것을 방지
df.to_csv("krx.csv", index = False, encoding = "cp949")

# CSV로 저장된 파일을 다시 DataFrame으로 읽어서 확인
pd.read_csv("krx.csv", encoding="cp949")

오늘 상장된 종목 찾아보기

# "ListingDate"를 내림차순으로 정렬
df.sort_values(by = "ListingDate", ascending = "False").head()
profile
데이터 분석가가 되기 위한 기록 ✏️

0개의 댓글