웹 크롤링으로 한국거래소 정보를 받았는데 없어서

웹 크롤링으로 한국거래소 정보를 받았는데 없어서

작성일 2024.03.19댓글 1건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요, 
웹 크롤링으로 아래 주소의 코스피 종목 리스트 관련 정보를 요청했는데, 
http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020201

크롬의 개발자 도구에 있는 Response에서는 모든 정보가 있는데 
제가 받은 Response.text에는 리스트가 비어있습니다. 

다음은 저의 파이썬 코드입니다.
otp_params = {
            'bld' : 'dbms/MDC/STAT/standard/MDCSTAT01901',
            'locale' : 'ko_KR',
            'mktld' : 'STK',
            'share' : '1', 
            'csvxls_isNo' : 'false'
        }

        otp_url = 'http://data.krx.co.kr/comm/bldAttendant/getJsonData.cmd'
        ref = 'http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020201'
        User_Agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 '
        headers = {
            'Referer' : ref,
            'User-Agent' : User_Agent
        }

        response = requests.post(otp_url, otp_params, headers=headers)

그런데, 저의 response.text 는 {"OutBlock_1":[],"CURRENT_DATETIME":"2024.03.16 PM 05:46:41"} 이렇게 오는데...
크롬 개발자 도구의 Response는 아래와 같이 OutBlock_1의 값이 들어있습니다. 
{"OutBlock_1":[{"ISU_CD":"KR7095570008","ISU_SRT_CD":"095570","ISU_NM":"AJ네트웍스보통주","ISU_ABBRV":"AJ네트웍스","ISU_ENG_NM":"AJ Networks Co.,Ltd.","LIST_DD":"2015/08/21","MKT_TP_NM":"KOSPI","SECUGRP_NM":"주권","SECT_TP_NM":"","KIND_STKCERT_TP_NM":"보통주","PARVAL":"1,000","LIST_SHRS":"45,252,759"},{"ISU_CD":"KR7006840003","ISU_SRT_CD":"006840","ISU_NM":"AK홀딩스보통주","ISU_ABBRV":"AK홀딩스","ISU_ENG_NM":"AK Holdings, Inc.","LIST_DD":"1999/08/11","MKT_TP_NM":"KOSPI","SECUGRP_NM":"주권","SECT_TP_NM":"","KIND_STKCERT_TP_NM":"보통주","PARVAL":"5,000","LIST_SHRS":"13,247,561"},{"ISU_CD":"KR7282330000","ISU_SRT_CD":"282330","ISU_NM":"BGF리테일보통주","ISU_ABBRV":"BGF리테일","ISU_ENG_NM":"BGF Retail","LIST_DD":"2017/12/08","MKT_TP_NM":"KOSPI","SECUGRP_NM":"주권","SECT_TP_NM":"","KIND_STKCERT_TP_NM":"보통주","PARVAL":"1,000","LIST_SHRS":"17,283,906"},{"ISU_CD":"KR7027410000","ISU_SRT_CD":"027410","ISU_NM":"BGF보통주","ISU_ABBRV":"BGF","ISU_ENG_NM":"BGF","LIST_DD":"2014/05/19","MKT_TP_NM":"KOSPI","SECUGRP_NM":"주권","SECT_TP_NM":"","KIND_STKCERT_TP_NM":"보통주","PARVAL":"1,000","LIST_SHRS":"95,716,791"}, .......

어떻게 하면 OutBlock_1의 값을 불러오고 읽어올 수 있나요?



profile_image 익명 작성일 -

해당 사이트는 검토결과 데이터를 비동기로 가져옵니다.

파이썬에서 request를 이용해서 http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020201 를 호출할 때, 해당 사이트에는 아무 데이터가 없습니다.

해서 request가 아니라 셀레니움을 통해서 <tbody>가 로드될 때까지 기다렸다가 가져와야 합니다.

도움이 되셨으면 좋겠습니다.



    test ad