Как в url найти точное слово и вернуть его левую часть
Подскажите пожалуйста, как на сайте найти нужное слово , и вернуть его левую часть.
# url
site = urllib.request.urlopen('https://scanner.tradingview.com/crypto/scan').read().decode("utf-8")
# Вводим название тикера
ticker_name = input('Введите название тикера : ').upper()
ticker_request = [ticker_name]
# Проверяем, существует ли такой тикер. Если существует то в принт выводим, что тикер найден
for i in ticker_request:
if i in site:
print('Введенный тикер {} найден'.format(ticker_name))
print(exchange)
else:
print("К сожалению тикер {} отсутствует в базе".format(ticker_name))
Вот по такому принципу, я нахожу сам тикер, ну не могу понять , как вернуть биржу, откуда этот тикер взят , нужно вернуть все 'точные' сопоставления введенные в input + биржа Данные по ссылке вот такого типа
{"s":"GATEIO:FLMUSDT","d":[]}
Вот из этого текста я понимаю, как извлечь 'GATEIO', ну а как через запрос проверить существование тикера и сразу извлечь от туда название биржы , я не понимаю, в виду совсем малого опыта.
Пример того, что я хотел бы получить :
# В input допустим введено 'btcusdt'
data = ['BINANCE', 'FTX', 'BYBIT']
далее в data заносятся все биржи, где есть 'btcusdt', не 'btcusd' или 'btcusdtperp' , а именно 'btcusdt'
Спасибо!
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
пример
import requests
res = requests.get('https://scanner.tradingview.com/crypto/scan').json()
data = []
ticker_name = 'btcusdt'.upper()
for rr in res['data']:
rt = rr['s'].split(':')
if rt[1] == ticker_name:
data.append(rt[0])
print(data)
['BINANCEUS', 'FTX', 'BINGX', .... 'KUCOIN', 'OKCOIN', 'PHEMEX']