끄적끄적

반응형

내가 만든 코딩이 너무 쓰레기 같아서 인터넷에서 남들이 만들어둔 게 있나 찾아봤다.


그러다가 어느 블로그에서 아주 깔끔하게 정리되어 있어서 더 이상 만들지 않고 참고해서 사용하기로 했다.



전자공시(Open DART) 재무제표 크롤링 : Python

https://besixdouze.net/18?category=909673


전자공시(Open DART) 재무제표 크롤링 2 : Python

https://besixdouze.net/19?category=909673



내가 파이썬을 제대로 배운적이 없어서 이유는 모르겠지만 

실행할 때 오류가 뜨길래 몇 가지를 바꿔줬다..


*

convertFnltt함수에서

if self.get_status(json_dict['status']): #애러 : NameError: name 'self' is not defined ??

이 부분에 self.를 지우고 

if get_status(json_dict['status']):

요렇게 만듬



*

아래 함수 하나를 추가시킴

#응답 에러 코드에 따라 메세지를 출력하고 결과 값으로 True 또는 False를 반환


def get_status(status):

result = False

if status == "000":

print("000 :정상")

result = True

elif status == "010":

print("010 :등록되지 않은 키입니다.")

elif status == "011":

print("011 :사용할 수 없는 키입니다. 오픈API에 등록되었으나, 일시적으로 사용 중지된 키를 통하여 검색하는 경우 발생합니다.")

elif status == "020":

print("020 :요청 제한을 초과하였습니다. 일반적으로는 10,000건 이상의 요청에 대하여 이 에러 메시지가 발생되나, 요청 제한이 다르게 설정된 경우에는 이에 준하여 발생됩니다.")

elif status == "100":

print("100 :필드의 부적절한 값입니다. 필드 설명에 없는 값을 사용한 경우에 발생하는 메시지입니다.")

elif status == "800":

print("800 :원활한 공시서비스를 위하여 오픈API 서비스가 중지 중입니다.")

elif status == "900":

print("900 :정의되지 않은 오류가 발생하였습니다.")

else:

print("status에 등록되지 않은 메세지입니다.")

return result



*

get_company 함수에서

리턴부분을 지우고

#추가 (데이터프레임으로)

item_names = ["고유번호","정식명칭","영문명칭","종목명","종목코드","대표자명","법인구분","법인등록번호","사업자등록번호","주소","홈페이지","IR홈페이지","전화번호","팩스번호","업종코드","설립일","결산월"]

df = pd.DataFrame([json_dict.values()], columns=item_names)

return df



반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]