• Как удалить сообщение от бота PyTelegramBotAPI?

    @Sadons
    Используйте bot.delete_message(message.chat.id, message.message_id)
    Как указано, здесь https://ru.stackoverflow.com/questions/934051/tele...
    Ответ написан
    7 комментариев
  • Помгите с ООП в Python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Вам же даже ошибка говорит:
    module 'sql' has no attribute 'insert'

    К тому-же сравните:
    class Sql:
    c
    import sql
    Одним словом - проблема не в ООП, а в неправильной работе с модулями.
    Ответ написан
    5 комментариев
  • Как убрать предпросмотр ссылки?

    @crocodilchik Автор вопроса
    УЖЕ РЕШЕНО!
    Нужно было просто сделать
    disableWebPagePreview: true
    Ответ написан
    Комментировать
  • Не могу понять почему Selenium не может найти class?

    botermain
    @botermain
    Python - Разработчик
    Скажу сразу, мне не очень нравится код, поэтому вот несколько рекомендаций.

    Наученный опытом, скажу, что использовать XPATH намного целесообразнее, но только не абсолютный указатель пути, а индексы, вот ссылка на документацию

    Предлагаю организовать структуру поиска, немного иначе, вместо того, чтобы икать класс, в котором содержатся плитки, сразу искать их, это сэкономит время:
    tabs = browser.find_elements(By.XPATH,'//div[@class="col-12 col-md-6 col-lg-4 col-xl-3"]') #Ищем все товарные плитки


    Теперь, когда у нас есть список со всеми плитками, пройдемся по нему и подостаем все, что нам нужно:
    for i in tabs:
        image = i.find_element(By.XPATH,'//img') #Достаем из плитки изображение
        name = i.find_element(By.XPATH,'//a[@class="card-title item_title sp-line-2"]') #Достаем из плитки название
        price = i.find_element(By.XPATH,'//div[@class="price"]') #Достаем из плитки цену
        print('Изображение: ',image.get_attribute('src'),' Название: ',name.text,' Цена: ',price.text) #Выводим всю информацию

    Идея с отправкой кнопок для прокрутки, тоже не очень, лучше вместо этого запусти следующий скрипт, он автоматически прокрутит вниз на всю длину страницы:
    browser.execute_script("window.scrollTo(0, document.body.scrollHeight);")


    Вот полный скрипт для парсинга, который получился у меня, работает как часы, поэтому прошу к ознакомлению:
    from webdriver_manager.chrome import ChromeDriverManager #Для пакетов Хромиума
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    import time
    
    
    service_package = Service(ChromeDriverManager(log_level=0).install()) #Устанавливаю пакеты Хромиума
    
    options = webdriver.ChromeOptions()
    #options.add_argument('--headless')
    driver = webdriver.Chrome(service=service_package,options=options)
    
    driver.maximize_window() #Разворачиваем страницу, даже если в headless режиме, потому что не всё грузится
    
    driver.get("https://obnovi-oboi.ru/goods?category=oboi")
    
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Скроллим до конца
    time.sleep(2)
    
    driver.find_element(By.XPATH,'/html/body/main/section/div/div[2]/button').click() # Кликаем кнопку
    time.sleep(5)
    
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") # Скроллим до конца
    time.sleep(2)
    
    tabs = driver.find_elements(By.XPATH,'//div[@class="col-12 col-md-6 col-lg-4 col-xl-3"]') #Ищем все товарные плитки
    for i in tabs:
        image = i.find_element(By.XPATH,'//img') #Достаем из плитки изображение
        name = i.find_element(By.XPATH,'//a[@class="card-title item_title sp-line-2"]') #Достаем из плитки название
        price = i.find_element(By.XPATH,'//div[@class="price"]') #Достаем из плитки цену
        print('Изображение: ',image.get_attribute('src'),' Название: ',name.text,' Цена: ',price.text) #Выводим всю информацию


    Если будут ещё вопросы по поводу Selenium, обращайся !
    Ответ написан
    3 комментария
  • Как избавиться от ботов, которые пишут первыми в Телеграмме?

    @pr0l
    запрети в настройках телеги находить тебя по номеру телефона тем кого нет у тебя в контактах
    Ответ написан
    Комментировать
  • Почему PyCharm ругается на Unused import statement 'import telebot'?

    Вы не знаете как переводится слово «unused»?
    Ответ написан
    Комментировать
  • ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: unsupported parse_mode" Как исправить?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    В bot.send_message Третий параметр - parse_mode

    message.chat.id, "Всего людей: ", len(rows)
    В качестве него вы передали число пользователей. Здесь нельзя строки как в принте складывать

    Правильно будет передать такие параметры:
    bot.send_message(message.chat.id, f"Всего людей:  {len(rows)}")
    Ответ написан
    Комментировать
  • Ошибка бд SQLite Telebot, что не так?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Английским же по белому написано: no such table: test
    Ответ написан
    1 комментарий
  • Можно ли в телеграм боте создать отдельный чат?

    i3a4em
    @i3a4em
    Возможно ли с Api telegram создавать новый чат для двух пользователей?

    Да, Но тебе нужно client api. Боты не умеют создавать чаты. Смотри в сторону Telethon.
    Но вариант со ссылкой лучше. Так не заблочат аккаунт
    Ответ написан
    Комментировать