vb6.0/vba [vb6.0/vba] json형식의 네이버 금융정보 긁어오기
페이지 정보
본문
네이버 금융의 재무분석의 재무상태료를 가져올려고 하니 json 형식의 에이터 입니다.
우선 JsonConverter 모듈을 https://github.com/VBA-tools/VBA-JSON 에서 다운받아서 추가해줍니다.
그리고 아래 프로시져를 삽입하고 실행합니다.
Sub program1472_com()
Dim URL As String, T As String, Cookie As String
URL = URL & "frq=0&"
URL = URL & "rpt=0&"
URL = URL & "finGubun=MAIN&"
URL = URL & "frqTyp=0&"
URL = URL & "cn=&"
URL = URL & "encparam=UlFqRk5keDB6QnlhTW1KcXJDaDRDdz09&"
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", URL
.SetRequestHeader "Host", "navercomp.wisereport.co.kr"
.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0"
.SetRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
.SetRequestHeader "Accept-Language", "ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3"
.SetRequestHeader "X-Requested-With", "XMLHttpRequest"
.SetRequestHeader "Connection", "keep-alive"
.SetRequestHeader "Referer", "https://navercomp.wisereport.co.kr/v2/company/c1030001.aspx?cmp_cd=148140&cn="
If Len(Cookie) Then .SetRequestHeader "Cookie", Cookie
.Send
.WaitForResponse: DoEvents
T = .ResponseText
End With
Debug.Print T
Dim Parsed
Set Parsed = JsonConverter.ParseJson(T)
Dim Values As Variant
ReDim Values(Parsed("DATA").Count, 27)
Dim Value As Dictionary
Dim i As Long, n As Long
For Each Value In Parsed("DATA")
n = 0
Values(i, n) = Value("ACKIND"): n = n + 1
Values(i, n) = Value("ACCODE"): n = n + 1
Values(i, n) = Value("ACC_NM"): n = n + 1
Values(i, n) = Value("LVL"): n = n + 1
Values(i, n) = Value("GRP_TYP"): n = n + 1
Values(i, n) = Value("UNT_TYP"): n = n + 1
Values(i, n) = Value("P_ACCODE"): n = n + 1
Values(i, n) = Value("DATA1"): n = n + 1
Values(i, n) = Value("DATA2"): n = n + 1
Values(i, n) = Value("DATA3"): n = n + 1
Values(i, n) = Value("DATA4"): n = n + 1
Values(i, n) = Value("DATA5"): n = n + 1
Values(i, n) = Value("DATA6"): n = n + 1
Values(i, n) = Value("YYOY"): n = n + 1
Values(i, n) = Value("YEYOY"): n = n + 1
Values(i, n) = Value("DATAQ1"): n = n + 1
Values(i, n) = Value("DATAQ4"): n = n + 1
Values(i, n) = Value("DATAQ5"): n = n + 1
Values(i, n) = Value("DATAQ2"): n = n + 1
Values(i, n) = Value("DATAQ6"): n = n + 1
Values(i, n) = Value("QOQ"): n = n + 1
Values(i, n) = Value("YOY"): n = n + 1
Values(i, n) = Value("QOQ_COMMENT"): n = n + 1
Values(i, n) = Value("YOY_COMMENT"): n = n + 1
Values(i, n) = Value("QOQ_E"): n = n + 1
Values(i, n) = Value("YOY_E"): n = n + 1
Values(i, n) = Value("QOQ_E_COMMENT"): n = n + 1
Values(i, n) = Value("YOY_E_COMMENT"): n = n + 1
i = i + 1
Next Value
Sheets("Sheet1").Cells.Clear
Sheets("Sheet1").Range(Cells(1, 1), Cells(Parsed("DATA").Count, 27)) = Values
End Sub
아래처럼 관련 데이터를 모두 파싱해 왔습니다.
첨부파일
-
2020-05-16dirId102020101docId354968306.xlsm (78.1K)
1회 다운로드 | DATE : 2020-05-16 19:13:35
- 이전글[vb6.0/vba] cjwatch.co.kr 상품정보(재고) 크롤링 20.05.17
- 다음글[vb6.0/vba] vba를 활용하여 네이버 증권정보 현재가 가져오기 20.05.16
댓글목록
등록된 댓글이 없습니다.