본문 바로가기
크롤링/파이썬 주식 크롤링

[파이썬을 이용한 주식 크롤링] 3. 증권플러스 재무제표 가져오기 (1)

by 만다린망고 2020. 7. 17.
반응형

[파이썬을 이용한 주식 크롤링] 3. 증권플러스 재무제표 가져오기 (1)


증권플러스의 경우 html 소스에 '표'가 표시되지 않는다는걸 지난시간에 알게되었습니다. 표를 URL 요청을 통해 가져오는데 URL은 아래와 같았습니다 .


https://stockplus.com/api/companies/KOREA-A005930/financial_statements.json


확장자를 보면 json 데이터라는 것을 알 수 있습니다. json데이터의 형식을 조금 더 알아봅시다. 


아래 그림을 보면 quaterly 와 yearly 로 나눠진다는 것을 알 수 있습니다. quaterly 는 분기별 데이터이고,yearly 는 연도별 데이터입니다. 



펼치기를 클릭하면 아래 그림처럼 날짜,per,pbr 등이 키:쌍 값으로 입력되어 있습니다. 



이제 파이썬에서 위 링크의 json 파일을 불러와봅시다. 


import json

import urllib.request as req

import pandas as pd


myurl='https://stockplus.com/api/companies/KOREA-A011930/financial_statements.json'

data= req.urlopen(myurl).read()


해당 링크의 json 데이터를 가져와서 data라는 변수에 저장했습니다 .data를 클릭해보면 아래와 같이 json 데이터가 입력된 것을 확인할 수 있습니다. 



단순히 text로 인식된 것이기 때문에 json 포멧으로 디코딩을 해야합니다. 아래 코드를 이용합니다. 


dataj = json.loads(data.decode('utf-8'))


연간 데이터를 판다스 데이터프레임으로 입력합시다. 


tab=pd.DataFrame(dataj['yearly'])


결과는 아래와 같습니다. 



가공이 좀 필요할 것 같은데요. 다음 글에서 이어가겠습니다. 지금까지 입력한 코드는 아래와 같습니다.


import json

import urllib.request as req  #url 패키지

import pandas as pd



myurl='https://stockplus.com/api/companies/KOREA-A119610/financial_statements.json'

data= req.urlopen(myurl).read()



# decoding to python object


dataj = json.loads(data.decode('utf-8'))


tab=pd.DataFrame(dataj['yearly'])


반응형

댓글