ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [기업정보 크롤링] #3 기업 고유번호 검색하기
    투자/OpenDART 2020. 3. 31. 16:06

    이번 장에서는 앞서 가져온 공시정보 고유번호 파일(CORPCODE.xml)을 읽어서 내가 원하는 기업의 정보를 출력하는 방법을 알아보겠다. 

     

    먼저 CORPCODE.xml 의 구조를 살펴보자.

    최상위 루트에 result 태그가 있고 하위에 각 기업들의 정보가 list 태그로 묶여있다. 

    <?xml version="1.0" encoding="UTF-8"?>
    <result>
        <list>
            <corp_code>00434003</corp_code>
            <corp_name>다코</corp_name>
            <stock_code> </stock_code>
            <modify_date>20170630</modify_date>
        </list>
        ....
        <list>
            <corp_code>00132008</corp_code>
            <corp_name>선우</corp_name>
            <stock_code> </stock_code>
            <modify_date>20200129</modify_date>
        </list>
    </result>

     

    아래는 해당 파일을 읽고 기업명을 입력받아 해당 기업의 정보를 출력하는 예제이다. 

    import xml.etree.ElementTree as ET
    tree = ET.parse('CORPCODE.xml') # CORPCODE.xml을 파싱하여 tree에 저장
    root = tree.getroot()
     
    name = input("회사명을 입력하세요(미입력 시 종료): ")
    while len(name) != 0:
        for company in root.findall('list'):
            company_name = company.find('corp_name').text
            if name in company_name:
                print('[고유번호]' + company.find('corp_code').text) #고유번호
                print('[회사명]' + company.find('corp_name').text) #회사명
                print('[종목코드]' + company.find('stock_code').text) #종목코드
                print('[최근변경일자]' + company.find('modify_date').text) #최근변경일자
                print()
    
        name = input("회사명을 입력하세요(미입력 시 종료): ")

     

    프로그램을 실행하여 결과를 확인해보자.

    회사명을 입력하세요(미입력 시 종료): 우리은행
    [고유번호]00254045
    [회사명]우리은행
    [종목코드]000030
    [최근변경일자]20190731
    
    회사명을 입력하세요(미입력 시 종료): 
    
    ~/workspace/Python/crawlDART master* 41s

    검색한 기업 정보가 잘 출력이 된걸 알 수 있다. 이제 원하는 기업의 고유번호를 검색하여 다른 OPENDART API 를 호출할 준비가 되었다.

    댓글

Designed by Tistory.