Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Selenium
- import datetime
- import time
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- def parser():
- browser = webdriver.Chrome()
- browser.maximize_window()
- browser.get("http://live.skillbox.ru")
- daniil_pilipenko = '//*[@id="#app"]/main/div/div/div[2]/div[1]/div[2]/ul/li[1]/label/span'
- checkbox = browser.find_element(by=By.XPATH, value=daniil_pilipenko)
- checkbox.click()
- time.sleep(5)
- webinars = browser.find_elements(by=By.CSS_SELECTOR, value=".webinar-card__title")
- webinar_list = [webinar.text for webinar in webinars]
- browser.close()
- return webinar_list
- # Скачать библиотеку Telegram Bot API
- # pip install python-telegram-bot
- from telegram import Update # Кусок новой входящей информации
- from telegram.ext import Updater, Filters # Инструмент, который получает апдейты и дает нам возможность их обработать
- from telegram.ext import MessageHandler # Обработчик апдейта
- # Зарегистрировать нашего бота в ТГ
- BOT_KEY = '!!!!!!!'
- # Функция будет вызвана при получении апдейта
- def bot_reply(upd: Update, ctx):
- msg = upd.message.text # Сообщение от пользователя
- print(msg)
- if msg == "Вебинары":
- current_time = datetime.datetime.now().strftime("%c")
- webinars = parser()
- print(f"Найдено вебинаров: {len(webinars)}")
- webinar_list = "\n".join(webinars)
- reply = f"В ответ на ваш запрос от {current_time}, я нашел для вас следующие вебинары:\n{webinar_list}"
- upd.message.reply_text(reply)
- else:
- upd.message.reply_text("OK") # Бот отвечает ОК
- bot = Updater(BOT_KEY) # Подключаемся к боту
- handler = MessageHandler(Filters.text, bot_reply) # Создаем обработчик текстовых сообщений
- bot.dispatcher.add_handler(handler) # Добавляем обработчик к боту
- bot.start_polling()
- bot.idle()
- # Интегрировать парсер с телеграм ботом
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement