Пишу бота для увеодомления о раздачах и хочу узнать как

Сам новичек в python.Пишу бота для телеграм который отслеживает момент раздачи ключей от игры.Дайте ссылочки, что почитать чтобы понять как сделать так, чтобы бот уведомлял о моменте изменения конкретного элемента на сайте.

Буду благодарен

https://github.com/FILINSI/S-box-telegram-bod-alert


Ответы (1 шт):

Автор решения: Johan

Если я вас правильно понял, то вот простой пример, в котором проверяется изменение курса валют. Вам также нужно в цикле периодически проверять, изменилось ли значение тега или нет:

import requests
from bs4 import BeautifulSoup


def change_price():
    url = 'https://ru.investing.com/currencies/usd-rub'

    req = requests.get(url)
    soup = BeautifulSoup(req.text, 'lxml')
    start_price = float(soup.find('span', class_='text-2xl').text.replace(",", "."))
    print(f'Текущая стоимость: {price}')

    while True:
        req = requests.get(url)
        soup = BeautifulSoup(req.text, 'lxml')
        price = float(soup.find('span', class_='text-2xl').text.replace(",", "."))
        if price > start_price:
            print(f'Внимание! Цена увеличилась! | {price}')
            start_price = price
        elif price < start_price:
            print(f'Внимание! Цена уменьшилась! | {price}')
            start_price = price

        time.sleep(120)

То есть, здесь выполняется проверка, чтобы узнать курс вообще и получить стартовую цену. А затем в бесконечном цикле проверяется, изменилась цена или нет. Если да, сообщаем пользователю и меняем значение стартовой стоимости. Ну, а в вашем случае, здесь можно будет отправлять сообщение об изменении текста, к примеру.

Я, когда делал бота для проверки новостей, подобным образом, с помощью цикла, проверял изменения в RSS и отправлял в чат, если что-то изменилось.

Требуется установить библиотеки: pip install requests bs4 lxml

→ Ссылка