ВАЖНО! Редактор в Яндекс.Дзен игнорирует все отступы, поэтому прошу смотреть конечный код по ссылке в github в конце статьи!
Привет! Сегодня мы напишем простенький код, для того, чтобы мы могли смотреть курс BitCoin в реальном времени.
Его можно реализовать даже в replit.com
1. В первую очередь, подключаем библиотеку requests, для того, чтобы отправлять запросы на сайт с курсом валют, также там имеется модуль .json() для доступа к api.
import requests
2. Далее мы создадим функцию scrape(), которая будет отправлять запрос и возвращать нам текущие значение курса BitCoin.
def scrape():
response = requests.get(URL) //отправляем запрос, должны получитm <Request 200>
response_json = response.json() //получаем json формат данных
return float(response_json["USD"]["last"]) //возвращаем цену курса валют в долларах, можно в рублях (вместо "USD" -> "RUB")
3. Далее мы создаем две переменные URL - наш адрес, куда мы отправляем запрос и last_price - пока что пустая переменная, она нам будет нужна, чтобы обновлять данные в цикле.
URL = 'https://blockchain.info/ru/ticker'
last_price = None
4. Создаем цикл while, где создаем переменную latest_price, которая принимает значение возврата функции scrape(). После идет проверка, если наша последняя цена(latest_price) неравна прошлой цене, то мы обновляем наши данные.
while True:
latest_price = scrape()
if latest_price != last_price:
print("Последняя цена BTC: ", latest_price)
last_price = latest_price //обновляем наш last_price
Полноценный код:
import requests
def scrape():
response = requests.get(URL)
response_json = response.json()
return float(response_json["USD"]["last"])
URL = 'https://blockchain.info/ru/ticker'
last_price = None
while True:
latest_price = scrape()
if latest_price != last_price:
print("Последняя цена BTC: ", latest_price)
last_price = latest_price
Вот ссылка на replit, где полностью рабочий код и вы можете проверить программу сами:
Ссылка на полный код:
https://github.com/cogesum/bitcoin_realtime/blob/master/main.py
P.S. Пока писал статью вот столько раз курс успел обновиться (около 15мин)