David의 개발 이야기!

웹 크롤러 이해하기[3] - 코인원 사이트 분석 및 JSON 파일 이해하기 본문

크롤링 공부

웹 크롤러 이해하기[3] - 코인원 사이트 분석 및 JSON 파일 이해하기

david.kim2028 2023. 6. 11. 16:09
반응형

코인원 사이트

 

코인원 사이트에서, 그래프에 있는 종가 혹은, 주가 정보를 가져오고 싶다면 어떻게 해야할까?

 

우선 크롬 개발자도구 > 네트워크 탭에 들어간다.

그 후, 주가창을 이리저리 옮겼을때 네트워크 탭에 뜨는 무언가(?site=coinone&typpe=1d) 를 클릭해서 url 을 딴다.

 

해당 url 을 크롬에 복사 붙여넣기를 하면, 

 

이런식으로 정보가 뜨는 것을 확인할 수 있다.

DT는 시간, open 시작가격, close 는 종가 등 정보들을 가져올 수 있다.

 

이를 VS code에서 확인하면, (우클릭 format-document) 를 클릭하면 다음과 같이 확인할 수 있다.

 

이제, 해당 정보를 불러와서 작업할 수 있는 baseline 코드를 만들어보자 

 

import json
import requests
import time

import requests

# dictionary {'자료이름' : '값' } 작은따옴표
# JSON {"자료이름" : "값" } 큰따옴표
data = requests.get('https://tb.coinone.co.kr/api/v1/chart/olhc/?site=coinone&type=1d&last_time=1669248000000')

#https://tb.coinone.co.kr/api/v1/chart/olhc/?site=coinone&type=1d&last_time=1669248000000

#딕셔너리를 JSON 으로 바꿔주면 편리함
dict1 = json.loads(data.content)
for i in range(200):

    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(dict1['data'][i]['DT']/1000)))
    print(dict1['data'][i]['Close']) #JSON 에서 딕셔너리 자료형으로 바꿔주고, 첫번쨰의 종가를 가져오는 코드

 

위 코드에서 반드시 알아야할 부분은 아래와 같다.

 

dictionary 자료형과 json 형식의 차이

json.loads() 

time.strftime()

 

1. dictionary 자료형과 json 형식의 차이

 

dictionary 자료형 -> {'자료이름" : '값'} : 작은 따옴표로 표기

JSON -> {"자료이름" : "값"} : 큰 따옴표로 표기

 

2. json.loads()

json 형식을 dictionary 형식으로 바꿔줌

 

3. time.strftime()

unix 시간(10자리)을 인간이 읽을 수 있는 시간으로 알려줌

*unix 시간 == 1970년 1월 1일 00:00:00 협정 세계시(UTC) 부터의 경과 시간을 초로 환산하여 정수로 나타낸 것

 

 

반응형
Comments