Чат-бот, написанный на Python, который должен работать в Telegram, не ищет статьи на сайте IEEE Spectrum.Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Чат-бот, написанный на Python, который должен работать в Telegram, не ищет статьи на сайте IEEE Spectrum.

Сообщение Гость »


Мне нужно создать бота, который будет искать статьи на сайте IEEE Spectrum после того, как пользователь введет ключевые слова. Бот должен работать в Telegram. Но при поиске статей бот мне всегда выдает По вашему запросу результатов не найдено.. Хотя статьи на сайте есть, я проверил. Почему бот работает некорректно?

импортировать телеграмму из telegram.ext import Updater, CommandHandler запросы на импорт из bs4 импорт BeautifulSoup # функция, которая будет активирована при получении команды def start (обновление, контекст): update.message.reply_text( «Здравствуйте! Я помогу вам найти статьи на сайте IEEE Spectrum». «Просто напишите /search и после этого ключевые слова для поиска».) # функция, которая включится при получении текстового сообщения поиск по определению (обновление, контекст): запрос = " ".join(context.args) если запрос == "": update.message.reply_text('Для поиска необходимо ввести ключевые слова после команды /search') возвращаться # сайт, на котором будем искать статьи URL = 'https://spectrum.ieee.org' # запросим сайт по ключевым словам ответ = запросы.get(url+'/search?keywords=' + запрос) если ответ.код_статуса == 200: # анализ html-страницы с помощью BeautifulSoup суп = BeautifulSoup(response.content, 'html.parser') # ищем статьи на странице результатов поиска статьи = суп.select('.search-result') если len(статьи) > 0: за статью в статьях: title =article.select_one('.search-result-title a').text href =article.select_one('.search-result-title a')['href'] сообщение = f'{title}\n{url}{href}' update.message.reply_text(сообщение) еще: update.message.reply_text('По вашему запросу результаты не найдены.') еще: update.message.reply_text('Ошибка при запросе сайта IEEE Spectrum.') # создаём бота и подключаемся к Telegram API bot_token = '6437672171:AAGVvRu4UNg2eR3ZinB7Ovd0NUk9ctNAVo8' updater = Updater(token=bot_token, use_context=True) диспетчер = updater.dispatcher #добавляем обработчики команд и текстовых сообщений start_handler = CommandHandler('старт', старт) search_handler = CommandHandler('поиск', поиск) диспетчер.add_handler(start_handler) диспетчер.add_handler(search_handler) #запускаем бота updater.start_polling() updater.idle() Я пытался что-то сделать, но ничего не получилось
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • MySQL ищет несколько таблиц и в одной таблице ищет несколько столбцов
    Anonymous » » в форуме Php
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку этой статьи статьи Laravel и JavaScript?
    Anonymous » » в форуме Javascript
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку этой статьи статьи Laravel и JavaScript?
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку этой статьи статьи Laravel и JavaScript?
    Anonymous » » в форуме Php
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Что вызывает ошибку этой статьи статьи Laravel и JavaScript?
    Anonymous » » в форуме Php
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»