그러면 좀 더 자세한 흐름을 살펴보겠습니다. 먼저 가져와야 할 전체 페이지 수를 알아내야 합니다. 그림 5-24에서 ‘맨뒤’를 클릭하면 총 페이지 수는 32페이지(코스피 기준)로, 각 페이지당 종목 정보를 최대 50개 나타내는 것을 알 수 있습니다(이 페이지는 여러분이 확인하는 때에 따라 늘어나거나 줄어들 수 있습니다). 그럼 전체 종목 수는 1595개(2021년 7월 기준)인 것을 눈으로 확인할 수 있습니다.
이렇게 우리가 눈으로 몇 페이지까지 데이터가 있는지 확인한 것처럼 전체 페이지 정보를 크롤링하려면 먼저 전체 페이지의 총수부터 크롤링해서 알아내야 합니다.
총 페이지 수는 시시각각 변하는 값은 아니기에 32라는 숫자를 그대로 사용하여 크롤링할 수 있습니다. 하지만 언제 바뀔지 모르는 값을 고정으로 두고 사용하기보다 그때그때 확인해서 가져오도록 만들어 보겠습니다. 우선은 크롤링할 전체 페이지 수가 몇 개인지 알아내기 위해 페이지 수를 크롤링하는 코드를 만들어 보겠습니다.
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='
START_PAGE = 1
fields = []
CODES = [0, 1] ------ KOSPI:0, KOSDAQ:1
res = requests.get(BASE_URL + str(CODES[0])) ------ 코스피 total_page를 가져오는 requests
page_soup = BeautifulSoup(res.text, 'lxml')
print(page_soup)