python 비트코인 정보 DB에 쌓기

이지선·2023년 6월 5일
post-thumbnail

비트코인 내용 DB에 쌓는 실습)

흐름 : 10초 단위로 bitcoin 가격 -> json 자름 -> database insert하기
할일 : 스키마 생성, table생성(id, coin_name,last_price,created_time)

1) mysql 세팅

CREATE DATABASE practice; # practice 스키마 생성
use practice; # practice 라는 스키마를 쓸것이다.
create table coin_price(id bigint AUTO_INCREMENT,coin_name varchar(20), last_price varchar(100), created_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id)); # 테이블을 만든다.
describe coin_price ; # 테이블을 확인한다.
-> DB생성 완료

2) 파이썬 자료

#코인 시세를 10초에 한번씩 db에 insert
import time
import json
import requests

while True :
url = "https://api.binance.com/api/v3/ticker/24hr"
response = requests.get(url)
data_json = json.loads(response.text)
for a in data_json:
if a['symbol'] == "BTCUSDT":
try : # 외부와 연결하는 파트는 에러가 많이 나서 이렇게 try 구문으로 감싸줌
connector = mysql.connector.connect(
host="localhost",
port="3306",
user="root",
password="1234",
database='practice',
use_pure=True) # 연결 객체를 담을 예정 파이썬이 DB정보를 알아야함
cursor = connector.cursor() # 커서 객체는 데이터베이스에서 쿼리의 결과를 검색하고 순회하는데 사용되는 객체
except mysql.connector.Error as err :
print(err)
add_data = "INSERT INTO coin_price (coin_name,last_price) VALUES(%s,%s)"
data = ("BITCOIN", a['lastPrice'])
try :
cursor.execute(add_data, data)
connector.commit()
except mysql.connector.Error as err :
print(err)
cursor.close()
connector.close()
time.sleep(10)

파이썬 자료2 - 미리 있는 board > author에 밀어넣는 연습

import mysql.connector
try : # 외부와 연결하는 파트는 에러가 많이 나서 이렇게 try 구문으로 감싸줌
connector = mysql.connector.connect(
host="localhost",
port="3306",
user="root",
password="1234",
database='board',
use_pure=True) # 연결 객체를 담을 예정 파이썬이 DB정보를 알아야함
cursor = connector.cursor() # 커서 객체는 데이터베이스에서 쿼리의 결과를 검색하고 순회하는데 사용되는 객체
except mysql.connector.Error as err :
print(err)

add_data = "INSERT INTO author (name,email) VALUES(%s,%s)"
data = ("John", "hello2@naver.com")

try :
cursor.execute(add_data, data)
connector.commit()
except mysql.connector.Error as err :
print(err)

cursor.close()
connector.close()

profile
Data Analyst

0개의 댓글