-
[기업정보 크롤링] #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 를 호출할 준비가 되었다.
'투자 > OpenDART' 카테고리의 다른 글
[기업정보 크롤링] #2 공시정보 고유번호 받아오기 (1) 2020.03.14 [기업정보 크롤링] #1 Open DART 가입 및 인증키 신청 (0) 2020.03.08