Найти - Пользователи
Полная версия: обновление спарсинговых данных(курса валют) в боте размещенном на хостинге
Начало » Python для новичков » обновление спарсинговых данных(курса валют) в боте размещенном на хостинге
1
nkv
Имеется телеграм бот необходимо добавить вывод курса валют с определённого сайта. Бота разместил на хостинге (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])
ntram
VANISHED
nkv
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])
ntram
VANISHED
nkv
ntram
Спасибо!
ntram
VANISHED
FishHook
ntram
ух
а нафига передавать в функцию пустой список и совершать над ним побочные эффекты? Гораздо же кошернее просто вернуть новое значение из функции. Причем в вашем случае список не нужен вообще, сделайте красиво - пусть это будет генератор
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB