darkHorse404
@darkHorse404
Всем привет! Я - начинающий программист на python.

Как вывести сообщение через бота?

Написал бота и не могу вывести сообщение. В чём проблема?

import requests
from bs4 import BeautifulSoup
from aiogram import types, Dispatcher,Bot,executor


bot = Bot('token')
dp = Dispatcher(bot)

# команда старт
@dp.message_handler(commands=['start'])
async def hello(message: types.message):
    await bot.send_message(message.chat.id, 'привет! Я - бот, который отправляет актуальные товары с сайта citilink. '
                'Напиши название товара, чтобы я нашёл его и вывел его тебе')

# сам парсер
@dp.message_handler(content_types=['text'])
async def parser (message: types.message):
    url = 'https://www.citilink.ru/search/?text=' + message.text
    request = requests.get(url)
    soup = BeautifulSoup(request.text,'html.parser')
    all_links = soup.find_all('a', class_='ProductCardVertical__name')
    for link in all_links:
        url = 'https://www.citilink.ru/'+ link['href']
        request = requests.get(url)
        soup = BeautifulSoup(request.text, 'html.parser')
        name1 = soup.find('h1',class_='Heading Heading_level_1 ProductPageTitleSection__text')
        text1 = name1.text
        print(text1)
        if all_links.index(link)==3:
            break
        await bot.send_photo(message.chat.id, text1)

executor.start_polling(dp)
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ambal245
На третьей странице нет
class="Heading Heading_level_1 ProductPageTitleSection__text"
только присутствует
class="Heading Heading_level_1 ProductHeader__title"


Поэтому нет значения в переменной name1 . Используйте общий класс тега H1 на всех страницах товаров.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы