파이썬/크롤링

[python-파이썬] 12 빗썸에서 호가정보 크롤링 (crawling)

모두의 실험실 2022. 4. 26. 00:51
728x90

안녕하세요. 모두의 파이썬입니다. 빗썸에서 호가정보 크롤링을 하겠습니다. 국내 코인 거래소 2위가 빗썸입니다. 모두의 파이썬은 빗썸이 빠르고 쉽게 크롤링 할 수 있어서 선택했습니다. 호가정보 얻는 방법은 여러 가지가 있습니다. 모두의 파이썬이 아는 방법만 하더라도 2가지입니다. 거래소에서 제공하는 api와 거래소 사이트에서 크롤링 하는 것입니다. 모두의 파이썬은 우선 크롤링으로 호가정보를 얻겠습니다.

전체 글을 요약하면, 거래소 사이트에서 'tag'기반 호가정보 크롤링 하기입니다

거래소 사이트에 접속하여 거래소를 클릭하겠습니다.

ⓒ메인화면, 출처 빗썸거래소 사이트



거래소 기본 화면으로 주소창이 https://www.빗썸.com/trade/order/BTC_KRW 바뀌는 것을 볼 수 있습니다. 모두의 코인은 1위를 추종합니다. 그래서 비트코인 종목의 호가 창 정보를 크롤링 하겠습니다. 아래 그림에서는 모두 확인할 수는 없지만, 매수 호가 30개 매도 호가 30개 정보를 크롤링 할 수 있습니다.

ⓒ비트코인 호가창, 출처 빗썸거래소 사이트


크롤링 제1방법은 개발자 모드(F12 or 우 클릭>검사)에서 'tag' 정보 확인입니다. 가격 속성은 'msl_plice first tx_amount'이며, 수량 속성은 'msl_count last tx_qty'이라는 것을 찾았습니다. 그리고 전체회가 개수는 60개입니다. list index 0-29까지는 매도 호가정보이며, list index 30-59까지는 매수 호가정보입니다.


전체 코드로 확인하겠습니다.

 

 

In [ ]:
## 빗썸에서 호가정보 크롤링 (crawling) 
## 빗썸에서 호가정보 크롤링 (crawling) 
import requests
from bs4 import BeautifulSoup
import time
from IPython.display import clear_output

def get_html(url):
    ## 브라우저 호환을 위해서 설정
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '+ \
        '(KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
                } 
    ##해당 url에 htlm(정보) 요청에사용 / url은 사용자가 원하는 url
    r = requests.get(url, headers=headers) 
    ## 해당 url의 html을 사용자가 활용하기 쉽게 변환
    html = BeautifulSoup(r.content, 'html.parser')
    ## 결과값 전달
    return html

    
def get_bithumb_hoga_info_crawling():
    url = 'https://www.빗썸.com/trade/order/BTC_KRW'
    html = get_html(url)
    
    a = html.find_all('div', {'class' : 'msl_plice first tx_amount'})
    b = html.find_all('div', {'class' : 'msl_count last tx_qty'})
    
    for j in range(60): 
        print(a[j].text,'\t',b[j].text)
        if j == 29:
            print('▲▲▲▲매도호가▲▲▲▲')
            print('------------------------')
            print('▼▼▼▼매수호가▼▼▼▼')

while True:
    clear_output(wait=True)
    time.sleep(1)
    get_bithumb_hoga_info_crawling()
 
50,169,000 	  0.1950 
50,150,000 	  0.0800 
50,147,000 	  0.6000 
50,120,000 	  0.2497 
50,119,000 	  0.0730 
50,107,000 	  0.2799 
50,103,000 	  0.6000 
50,102,000 	  0.0371 
50,097,000 	  0.0914 
50,096,000 	  0.2402 
50,095,000 	  0.0551 
50,094,000 	  0.6000 
50,092,000 	  0.0360 
50,091,000 	  0.0207 
50,086,000 	  0.0360 
50,085,000 	  0.2988 
50,082,000 	  0.0466 
50,081,000 	  0.0367 
50,077,000 	  0.1511 
50,076,000 	  0.3989 
50,074,000 	  0.2941 
50,073,000 	  0.6352 
50,071,000 	  0.0234 
50,064,000 	  0.2117 
50,063,000 	  0.0372 
50,062,000 	  0.3753 
50,060,000 	  0.0225 
50,057,000 	  0.3412 
50,056,000 	  0.0491 
50,051,000 	  0.1548 
▲▲▲▲매도호가▲▲▲▲
------------------------
▼▼▼▼매수호가▼▼▼▼
50,045,000 	  0.0001 
50,044,000 	  0.0730 
50,034,000 	  0.0217 
50,031,000 	  0.0359 
50,030,000 	  0.0662 
50,022,000 	  0.0001 
50,019,000 	  0.0491 
50,012,000 	  0.0231 
50,011,000 	  0.0312 
50,008,000 	  0.0126 
50,005,000 	  0.1508 
50,000,000 	  0.0031 
49,998,000 	  0.0001 
49,995,000 	  0.1950 
49,989,000 	  0.6000 
49,983,000 	  0.6480 
49,977,000 	  0.6000 
49,973,000 	  1.0800 
49,957,000 	  0.3702 
49,956,000 	  0.1262 
49,951,000 	  0.0002 
49,943,000 	  0.6070 
49,937,000 	  0.7042 
49,936,000 	  0.0016 
49,931,000 	  0.0018 
49,930,000 	  0.0024 
49,928,000 	  0.0011 
49,924,000 	  0.0203 
49,923,000 	  0.0800 
49,916,000 	  0.0011 

복잡할 것이라 예상했지만, 정말 간단한 코드로 실시간 비트코인 호가정보를 확인할 수 있으며, 시스템 알고리즘 트레이더를 만드는 데 초석이 될 수 있습니다. 포기 않고 꾸준히 하십시오 정상으로 가는 길입니다.

 

print('모두의 파이썬')
※좋아요/댓글은 서로를 응원합니다!

728x90
반응형