더북(TheBook)

이 항목 박스 정보를 크롤링하는 코드는 다음과 같습니다.

make_up_universe.py

(...)
total_page_num = page_soup.select_one('td.pgRR > a')
print(total_page_num)
total_page_num = int(total_page_num.get('href').split('=')[-1])
print(total_page_num)

ipt_html = page_soup.select_one('div.subcnt_sise_item_top') ------ 조회할 수 있는 항목 이름들을 추출
fields = [item.get('value') for item in ipt_html.select('input')]
print(fields)

마찬가지로 크롤링할 대상 요소의 태그 정보(클래스가 subcnt_sise_item_topdiv 태그)를 select_one 함수에 전달하면 ipt_html 변수에는 항목 박스에 해당하는 HTML이 저장됩니다. 이 항목 박스에서 선택 가능한 항목들은 input 태그들로 구성되어 있고, 이 input 태그의 'value'를 반복해서 추출하여 fields 변수에 저장합니다.

그러면 우리가 가져올 수 있는 항목명들이 전부 리스트에 담겨 출력된 결과는 다음과 같습니다.

<a href="/sise/sise_market_sum.nhn?sosok=0&amp;page=32">맨뒤
    <img alt="" border="0" height="5" src="https://ssl.pstatic.net/static/n/cmn/bu_pgarRR.gif" width="8"/>
</a>
32
['quant', 'ask_buy', 'amount', 'market_sum', 'operating_profit', 'per', 'open_val', 'ask_sell', 'prev_quant', 'property_total', 'operating_profit_increasing_rate', 'roe', 'high_val', 'buy_total', 'frgn_rate', 'debt_total', 'net_income', 'roa', 'low_val', 'sell_total', 'listed_stock_cnt', 'sales', 'eps', 'pbr', 'sales_increasing_rate', 'dividend', 'reserve_ratio']
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.