Advertisement
Guest User

Untitled

a guest
May 4th, 2022
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. #  Selenium
  2. import datetime
  3. import time
  4.  
  5. from selenium import webdriver
  6. from selenium.webdriver.common.by import By
  7.  
  8.  
  9. def parser():
  10.     browser = webdriver.Chrome()
  11.     browser.maximize_window()
  12.  
  13.     browser.get("http://live.skillbox.ru")
  14.  
  15.     daniil_pilipenko = '//*[@id="#app"]/main/div/div/div[2]/div[1]/div[2]/ul/li[1]/label/span'
  16.  
  17.     checkbox = browser.find_element(by=By.XPATH, value=daniil_pilipenko)
  18.     checkbox.click()
  19.  
  20.     time.sleep(5)
  21.  
  22.     webinars = browser.find_elements(by=By.CSS_SELECTOR, value=".webinar-card__title")
  23.     webinar_list = [webinar.text for webinar in webinars]
  24.     browser.close()
  25.     return webinar_list
  26.  
  27.  
  28. # Скачать библиотеку Telegram Bot API
  29. # pip install python-telegram-bot
  30. from telegram import Update  # Кусок новой входящей информации
  31. from telegram.ext import Updater, Filters  # Инструмент, который получает апдейты и дает нам возможность их обработать
  32. from telegram.ext import MessageHandler  # Обработчик апдейта
  33.  
  34. # Зарегистрировать нашего бота в ТГ
  35. BOT_KEY = '!!!!!!!'
  36.  
  37.  
  38. # Функция будет вызвана при получении апдейта
  39. def bot_reply(upd: Update, ctx):
  40.     msg = upd.message.text  # Сообщение от пользователя
  41.     print(msg)
  42.     if msg == "Вебинары":
  43.         current_time = datetime.datetime.now().strftime("%c")
  44.         webinars = parser()
  45.         print(f"Найдено вебинаров: {len(webinars)}")
  46.         webinar_list = "\n".join(webinars)
  47.         reply = f"В ответ на ваш запрос от {current_time}, я нашел для вас следующие вебинары:\n{webinar_list}"
  48.         upd.message.reply_text(reply)
  49.     else:
  50.         upd.message.reply_text("OK")  # Бот отвечает ОК
  51.  
  52.  
  53. bot = Updater(BOT_KEY)  # Подключаемся к боту
  54. handler = MessageHandler(Filters.text, bot_reply)  # Создаем обработчик текстовых сообщений
  55. bot.dispatcher.add_handler(handler)  # Добавляем обработчик к боту
  56.  
  57. bot.start_polling()
  58. bot.idle()
  59.  
  60. # Интегрировать парсер с телеграм ботом
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement