이 페이지를 보면 각 기업마다 확인 가능한 항목은 20개가 넘지만 동시에 확인 가능한 항목은 최대 여섯 개입니다. 이 정보들은 내려받을 수 없는 제약이 있지만, 우리는 파이썬 크롤링을 이용하여 제공되는 모든 항목을 얻어 오겠습니다.
먼저 우리가 웹 브라우저에 접속하여 웹 페이지 정보를 눈으로 볼 수 있는 것처럼 파이썬 코드로 해당 웹 페이지 정보를 받아 올 수 있다는 점을 알아야 합니다. 물론 직접 크롤링 기능을 구현하는 것은 쉽지 않겠지만 다행히 파이썬을 이용하여 쉽게 크롤링할 수 있게 도와주는 패키지들이 있습니다. 그중 beautifulsoup4 패키지를 이용하겠습니다.
이 패키지는 아나콘다 프롬프트로 설치합니다. 먼저 우리가 만든 가상 환경 system_trading_py38_32에 진입한 후 패키지 설치를 위해 다음과 같은 명령어를 입력합니다.
conda activate system_trading_py38_32
pip install requests bs4 lxml openpyxl numpy
진행 과정에서 필요한 패키지들(lxml, openpyxl, numpy)도 있기 때문에 bs4(beautifulsoup4)처럼 설치했습니다. 설치 이후에는 크롤링을 수행할 util 패키지의 make_up_universe.py 파일에 다음과 같이 코드를 작성합니다.
make_up_universe.py
import requests
from bs4 import BeautifulSoup
import numpy as np
import pandas as pd
from datetime import datetime
BASE_URL = 'https://finance.naver.com/sise/sise_market_sum.nhn?sosok='