Форум сайта python.su
Имеется телеграм бот необходимо добавить вывод курса валют с определённого сайта. Бота разместил на хостинге (beget) , но при изменении курса валют на сайте в боте данные не меняются, только при полном перезапуске бота на хостинге (вручную). Необходимо, чтобы курс обновлялся автоматически (т.е. алгоритм парсинга постоянно обноавлялся). Для автообновления данного функционала возникла мысль добавить while True: + time, но не могу понять, как использовать его в данном случае.
Код представлен ниже:
import requests from bs4 import BeautifulSoup def f(m, url): source = requests.get(url) main_text = source.text soup = BeautifulSoup(main_text, 'html.parser') table = soup.findAll('td') table = str(table) n = '' for i in table: #отбирает с строки только числа if i.isdigit(): n += i else: if n.isdigit(): m.append(float(n)) n = '' if n != '': m.append(float(n)) m = [] url = 'URL_САЙТА' f(m, url) if len(m) < 100: dollar_buy = (m[0]) dollar_sale = (m[2]) euro_buy = (m[4]) euro_sale = (m[6]) tenge_buy = (m[9]) tenge_sale = (m[11])
Отредактировано nkv (Июль 4, 2022 19:16:36)
Офлайн
VANISHED
Отредактировано ntram (Окт. 13, 2022 15:47:35)
Офлайн
ntram
смотри, есть такой дропдаун , на него наводи мышку и там есть кнопка “Python”, на нее нажимаешь и в между тегами пишешь свой код
import requests from bs4 import BeautifulSoup def f(m, url): source = requests.get(url) main_text = source.text soup = BeautifulSoup(main_text, 'html.parser') table = soup.findAll('td') table = str(table) n = '' for i in table: #отбирает с строки только числа if i.isdigit(): n += i else: if n.isdigit(): m.append(float(n)) n = '' if n != '': m.append(float(n)) m = [] url = 'url_сайта' f(m, url) if len(m) < 100: dollar_buy = (m[0]) dollar_sale = (m[2]) euro_buy = (m[4]) euro_sale = (m[6]) tenge_buy = (m[9]) tenge_sale = (m[11])
Отредактировано nkv (Июль 4, 2022 19:15:22)
Офлайн
VANISHED
Отредактировано ntram (Окт. 13, 2022 15:47:44)
Офлайн
ntramСпасибо!
Офлайн
VANISHED
Отредактировано ntram (Окт. 13, 2022 15:47:48)
Офлайн
ntram
ух
а нафига передавать в функцию пустой список и совершать над ним побочные эффекты? Гораздо же кошернее просто вернуть новое значение из функции. Причем в вашем случае список не нужен вообще, сделайте красиво - пусть это будет генератор
Офлайн