Халява с Авито: часть 2. Отправка уведомлений в telegram, графический интерфейс, ООП и многое другое

Поделиться
HTML-код
  • Опубликовано: 15 янв 2025

Комментарии • 116

  • @the_parse_hub
    @the_parse_hub  Год назад +1

    Ссылка на код проекта: github.com/Duff89/parser_avito

  • @alekseym2957
    @alekseym2957 11 месяцев назад +2

    Здравствуйте. А можно как-то сделать чтобы в телеграм приходили только новые объявления? Например я запустил парсинг в 10:00 и чтобы объявления опубликованные до этого времени не приходили.

    • @the_parse_hub
      @the_parse_hub  11 месяцев назад +1

      Прям из коробки такого нет, но Вы можете самостоятельно дописать данный функционал, код открыт

    • @alekseym2957
      @alekseym2957 11 месяцев назад +1

      @@the_parse_hub спасибо за ответ! Если б я ещё знал как это сделать, запустить получилось - уже хорошо)) поищу попробую)

    • @Mersillies
      @Mersillies 8 месяцев назад

      @@alekseym2957 нашел? если да то скинь пожалуйста))

  • @armihail
    @armihail Год назад

    еще сильно не юзал но штука класная.СПАСИБО!!!писал под авито на стелсе год назад,ибо не у кого не было через селениум,все парсы были предложены на реквесте.В твоей проге все что нужно собрано👍👍👍

  • @alexanderlevin1423
    @alexanderlevin1423 3 месяца назад

    Здравствуйте, подскажите, пожалуйста, можно ли запускать на хостинге по кронтабу?

    • @the_parse_hub
      @the_parse_hub  3 месяца назад

      @@alexanderlevin1423 конечно можно, я не против

    • @alexanderlevin1423
      @alexanderlevin1423 3 месяца назад

      @@the_parse_hub имел ввиду - будет ли запускаться автономно? Сейчас запускал в PyCharm. Я еще новичек, протсите, если вопрос глупый)

    • @alexanderlevin1423
      @alexanderlevin1423 3 месяца назад

      @@the_parse_hub хотел спросить, будет ли скрипт работать? Сейчас запускаю через PyCharm на windows

    • @the_parse_hub
      @the_parse_hub  3 месяца назад

      @@alexanderlevin1423 да. Работать будет

  • @andreycodder
    @andreycodder 11 месяцев назад

    В последней версии parser_cls пропали методы __set_up и __get_chrome_version, где теперь происходит определение и настройка driver (Chrome)?

    • @the_parse_hub
      @the_parse_hub  11 месяцев назад +1

      В новых версиях используется seleniumbase, именно он определяет текущую версию, вот видео про него: ruclips.net/video/evI80cwSzlI/видео.html

    • @andreycodder
      @andreycodder 11 месяцев назад

      @@the_parse_hub большое спасибо за ответ

  • @alexandrnesterov9128
    @alexandrnesterov9128 3 месяца назад

    Здравствуйте опять пишет про кнопку Далее

  • @badleefl154
    @badleefl154 10 месяцев назад

    Планируется ли добавление функции новых объявлений в парсер?

    • @the_parse_hub
      @the_parse_hub  10 месяцев назад

      Не очень понятно, что за функция новых объявлений, парсер же итак помнит все просмотренные объявления и сообщает только о новых

    • @badleefl154
      @badleefl154 10 месяцев назад

      @@the_parse_hub человек в комментариях писал, когда запускаешь парсер в 10:00, и он кидает объявления после этого времени

    • @badleefl154
      @badleefl154 10 месяцев назад

      @@the_parse_hub как писал человек ниже, когда в 10 00 запускаешь парсер, и он кидает объявления с 10 00 и позже

    • @the_parse_hub
      @the_parse_hub  10 месяцев назад

      такого в планах нет

  • @АнатолийТ-д6л
    @АнатолийТ-д6л 8 месяцев назад

    Спасибо за видео, очень интересно, а главное достаточно подробно! Интересно можно ли как то заливать результаты в бд?

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад

      можно сохранять в бд, для этого нужно переписать функцию сохранения

  • @schai3r
    @schai3r 8 месяцев назад

    Планируется добавлять поиск по нескольким ссылкам? Хотя бы три. Технически сложно или это повысит вероятность бана кратно?

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад +1

      Планируются такие изменения

  • @neverwanted6134
    @neverwanted6134 Год назад

    Есть возможность парсинга нескольких ссылок?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Нет. Такой возможности пока нет

    • @neverwanted6134
      @neverwanted6134 Год назад

      @@the_parse_hub планируется? Получится ли к слову запускать это на сервере? Я так понимаю только на устройствах с GUI может работать программа

    • @the_parse_hub
      @the_parse_hub  Год назад

      без gui может работать, просто запускаете parser_cls.py, а в settings.ini сразу впишите настройки.
      Несколько ссылок пока не планирую добавлять

    • @neverwanted6134
      @neverwanted6134 Год назад

      @@the_parse_hub да, уже сделал так. Но по-моему chromedriver не будет на обычном vps сервере работать, да?

  • @wordpreslabs
    @wordpreslabs Год назад

    А чего SQLite было сильно сложно подключить да?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Да хоть постгрес, зачем это здесь?

  • @Александр-ф4ч1м
    @Александр-ф4ч1м Год назад

    Здравствуйте! Спасибо вам большое! Тестирую) Подскажите, у меня блокировка IP... как с этим быть?) надо было медленно парсить? и снимут ли ее? эту блокировку...

    • @the_parse_hub
      @the_parse_hub  Год назад +1

      Добрый день!
      Авито бывает блокирует, как правило через минуту всё снова будет работать. Чтобы было меньше блокировок, указывайте ограничение по цене и ключевые слова, тогда скрипт будет открывать меньше объявлений и соответственно будет меньше палиться.
      Вообщем смысл такой: меньше действий за единицу времени - меньше шанс быть заблокированным

    • @Александр-ф4ч1м
      @Александр-ф4ч1м Год назад

      @@the_parse_hub Спасибо Вам большое за оперативный ответ! Да, вновь заработал) Осталось лишь придумать, куда применить это чудо) Чтоб себе в быту упростить жизнь и улучшить жизнь)))

  • @daklik1269
    @daklik1269 8 месяцев назад

    Здравствуйте, с чем может быть связана ошибка, при которой я запускаю программу, начинается поиск, однако обьявления не ищутся, при попытке остановки, программа зависает, и приходится закрывать через терминал

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад

      Сложно однозначно сказать, попробуйте запустить в режиме отладки (нужно снизу слева поставить галочку)

    • @daklik1269
      @daklik1269 8 месяцев назад

      @@the_parse_hub окно браузера открывается и закрывается

  • @cresten3531
    @cresten3531 Год назад

    Получается парсер будет работать только с версией хрома 114?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Нет, он работает со всеми версиями. Последнюю актуальную информацию читайте на github, ссылка в описании

    • @cresten3531
      @cresten3531 Год назад

      selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114@@the_parse_hub

  • @ЕвгенийПодлеснюк
    @ЕвгенийПодлеснюк Год назад +1

    СУпер! Спасибо огромное. Как можно извлекать данные о количестве просмотров определенной карточки?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Спасибо. Чтобы извлечь количество просмотров, нужно открыть саму карточку, просто в списке объявлений эти данные не передаются. У меня в проекте это не реализовано на данный момент

    • @the_parse_hub
      @the_parse_hub  Год назад

      В новой версии это уже реализовано

    • @ЕвгенийПодлеснюк
      @ЕвгенийПодлеснюк Год назад

      @@the_parse_hub Здорово! А у вас есть какой-нибудь курс по парсингу. Пока немного тяжеловато разбираться в коде. А очень хочется. )))

    • @the_parse_hub
      @the_parse_hub  Год назад

      @@ЕвгенийПодлеснюк У меня пока нет такого курса

  • @roman_roman9
    @roman_roman9 9 месяцев назад

    Что значит установить зависимости? Как это сделать?

    • @the_parse_hub
      @the_parse_hub  9 месяцев назад

      Для работы данного парсера требуются сторонние библиотеки, поэтому их нужно установить.
      Вообще весь путь установки выглядит так:
      - установить python
      - по желанию можно установить какую-то среду разработки, например PyCharm, тогда можно будет что-то исправить в коде без особых проблем
      - скопировать весь код с гитхаба себе
      - установить зависимости командой: pip install -r requirements.txt
      - запустить AvitoParser.py

    • @roman_roman9
      @roman_roman9 9 месяцев назад

      @@the_parse_hub спасибо, уже нашел. благодарю

  • @-USER_NAME
    @-USER_NAME 10 месяцев назад

    Не пойму что происходит с селениум и ли хром драйвер . День нормально подключается на другой день грузит минут 5 ,причем после появления окна хром данные отдает довольно быстро.

    • @the_parse_hub
      @the_parse_hub  10 месяцев назад

      Сложно однозначно сказать, что именно виновато в таком поведении

    • @-USER_NAME
      @-USER_NAME 10 месяцев назад

      @@the_parse_hub Спасибо за ответ. Может я что-то накопаю и сюда же напишу .

    • @-USER_NAME
      @-USER_NAME 9 месяцев назад

      ​@@the_parse_hub нашел решение
      Проблема проявляла себя в режиме --headless без него было долго но работало . Полностью решение этой проблемы на гит хаб ( Message: unknown error: cannot connect to chrome at 127 ... дальше не буду писать ато заблокируют) там целых два варианта решения этого вопроса.

  • @Maine__Coon__1
    @Maine__Coon__1 Год назад

    такой вопрос, а как на сайте это реализовать , чтоб автоматически парсилось?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Не очень понятно, что конкретно имеется ввиду?

    • @Maine__Coon__1
      @Maine__Coon__1 Год назад

      @@the_parse_hub , я имею ввиду, добавить скрипт на хостинг, чтоб он запускался автоматически с сайта , и приходили уведомления на телеграмм, о появлении новых обьявлений, допустим когда не дома с пк

  • @maminafather4516
    @maminafather4516 9 месяцев назад

    Привет, а если мне нужно искать не бесплатные товары в объявлениях
    А допустим в диапозоне 300 - 700 рублей? Как это с 0 изменить на диапозон, который мне нужен?
    И можно ли запускать в 3-4 окна с разными настройками и разными URL?

    • @the_parse_hub
      @the_parse_hub  9 месяцев назад

      Привет. Этот проект просто начинался с поиска халявы, а потом развился в нечто большее, поэтому диапазон по цене (и не только) там есть.
      Насчет нескольких окон - нет, нельзя

    • @maminafather4516
      @maminafather4516 9 месяцев назад

      @@the_parse_hub я скачал питон, интерпретатор пайчарм, нашёл где меняется диапозон цены, но когда я пытаюсь установить зависимости выдаёт ошибку и не получается запустить скрипт, я полный ноль в программировании/коде, можем мы с вами созвониться в Дискорде в ваше свободное время? И вы мне объясните как запустить ваш скрипт, а я задоначу вам допустим небольшую сумму за помощь
      Меня в Гугле не забанили, но что-то, когда я гуглю "как скопировать проект и установить зависимости" выдаёт что-то не по теме как будто

    • @the_parse_hub
      @the_parse_hub  9 месяцев назад

      напишите мне sergeichopolovich1989@gmail.com

  • @igorigorev8414
    @igorigorev8414 Год назад +1

    No Bad, NO Bad!

  • @hqwerty423
    @hqwerty423 9 месяцев назад

    Здравствуйте . Что делать если нет графического интерфейса ?

    • @the_parse_hub
      @the_parse_hub  9 месяцев назад

      такой вариант предусмотрен. Нужно запустить parser_cls, настройки заранее задать в settings, в документации этот момент написан

  • @fekisbombaiee3151
    @fekisbombaiee3151 8 месяцев назад

    Добрый вечер, можете сделать такой скрипт? Чтобы уведомления о новых объявлениях приходило с минимальной задержкой, буду очень благодарен и конечно же не бесплатно.

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад

      Добрый день. Пишите sergeichopolovich1989@gmail.com

    • @fekisbombaiee3151
      @fekisbombaiee3151 8 месяцев назад

      @@the_parse_hubв телеграм написать можно ?

    • @fekisbombaiee3151
      @fekisbombaiee3151 8 месяцев назад

      Я вам написал

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад

      Я же Вам ответил по почте

  • @user-zhuki4
    @user-zhuki4 Год назад +1

    Спасибо вам большое! Если вдруг будете совершенствовать, то идеально было бы выводит в табл
    Заголовок объявл/ /Цена /Просм. Всего /Просм. Сегодня /Время поднятия /id продавца

    • @the_parse_hub
      @the_parse_hub  Год назад

      Спасибо. Да, в следующей версии планируется что-то подобное

    • @the_parse_hub
      @the_parse_hub  Год назад +2

      Вышла версия 1.05, посмотрите: github.com/Duff89/parser_avito

  • @igormatvienko6924
    @igormatvienko6924 8 месяцев назад

    Добрый день. При первом же запуске сразу банит. Как решить проблему?

    • @igormatvienko6924
      @igormatvienko6924 8 месяцев назад

      Скрипт выдает : "Ошибка: Перезапуск из-за блокировки IP" . При этом если зайти на авито через браузер, то никакого блока нет.

    • @the_parse_hub
      @the_parse_hub  8 месяцев назад

      Попробуйте обновить библиотеки, а конкретнее seleniumbase и undetected_chromedriver

  • @lalfit4866
    @lalfit4866 Год назад

    Действительно работает, спасибо Вам!! Но у меня есть вопрос, как сделать парсинг не только бесплатных объявлений?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Вообще не вопрос. В файле parser_cls.py, строка примерно 99, нужно заменить if any([item.lower() in description.lower() for item in self.keys_word]) and int(
      price) == 0: на это if any([item.lower() in description.lower() for item in self.keys_word]):

    • @lalfit4866
      @lalfit4866 Год назад

      @@the_parse_hub Спасибо, вы исполнили мою давнюю мечту!

    • @the_parse_hub
      @the_parse_hub  Год назад

      @@lalfit4866 рад был помочь

    • @the_parse_hub
      @the_parse_hub  Год назад

      Вышла новая версия, где уже можно искать не только бесплатные объявления: github.com/Duff89/parser_avito

  • @alexxlub
    @alexxlub Год назад

    Большое спасибо за видео! Выдает ошибку что версия браузера Хром не та. Сейчас последняя 119 стоит. А в скрипте 114. Установил все что указано в requirements.txt. Поменяю версию хромдрайвера, думаю проблема уйдет. Я так понял, что устанавливается undetected драйвер. Но как поменять его версию?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Вручную обновите seleniumbase до последней версии, должно помочь

    • @alexxlub
      @alexxlub Год назад

      @@the_parse_hub Спасибо, помогло. Но теперь скрипт работает больше часа и нашел 5 объявлений и дальше ищет. Хотя в GUI указал 1 кол-во страниц. Я так понял пока его не остановишь, будет искать?

    • @the_parse_hub
      @the_parse_hub  Год назад +1

      @@alexxlub верно, он будет искать бесконечно новые объявления, а "1 страница" - это глубина поиска

  • @ViSkinVlad
    @ViSkinVlad Год назад +1

    а что значит traceback (most recent call last ):
    File "" , line 13 , in
    ModuleNotFoundError : No module named ' loguru' ?

    • @the_parse_hub
      @the_parse_hub  Год назад +1

      Это значит, что у Вас не установлен loguru(библиотека для логирования). Скорее всего Вы забыли установить нужные зависимости или есть какая-то проблема с ними

    • @ViSkinVlad
      @ViSkinVlad Год назад

      @@the_parse_hub спасибо огромное

  • @3d76
    @3d76 6 месяцев назад

    банит по IP (((

  • @AnnyFanny85
    @AnnyFanny85 Год назад

    No such file or directory: 'google-chrome'

  • @Hamsters_Rage
    @Hamsters_Rage Год назад

    посмотрел 3 видео - у тебя явно какие-то проблемы с записью. видео постоянно запинается и норовит качество сбросить до 360p, при этом другие видео играются нормально.

    • @the_parse_hub
      @the_parse_hub  Год назад

      Да, я при публикации ролика ставлю галочку в пункте "сделать качество хреновым")
      А на самом деле, это уже вопрос к RUclips. Как вариант, можете вручную выбрать качество в настройках

    • @Hamsters_Rage
      @Hamsters_Rage Год назад

      @@the_parse_hub конечно же я выбираю. но оно сбрасывается обратно. в том-то и дело. может при записи битрейт слишком высокий, может формат не тот, но реально играется хреново

    • @the_parse_hub
      @the_parse_hub  Год назад

      @@Hamsters_Rage Даже не знаю из-за чего еще может быть такое

  • @Maine__Coon__1
    @Maine__Coon__1 Год назад

    хотелось бы с 0 код, с обьяснениями :)

  • @bossashow9740
    @bossashow9740 Год назад

    Здравствуйте, что делать, если парсер не находит кнопку Next и выдается ошибка?

    • @the_parse_hub
      @the_parse_hub  Год назад

      Напишите url, который Вы внесли в скрипт и что за ошибка?

    • @the_parse_hub
      @the_parse_hub  Год назад

      @@bossashow9740 Да, действительно, это баг. По данному url нет кнопки "Дальше" и скрипт падает. Исправлю на днях и выпущу новую версию

    • @bossashow9740
      @bossashow9740 Год назад

      @@the_parse_hub Ура, буду ждать. Если не сложно, можете пожалуйста уведомить в комментариях на Youtubе.

    • @the_parse_hub
      @the_parse_hub  Год назад

      @@bossashow9740 Да, напишу здесь

    • @the_parse_hub
      @the_parse_hub  Год назад

      Вышла новая версия: github.com/Duff89/parser_avito

  • @Askippen
    @Askippen 7 месяцев назад

    Похоже, авито снова подкрутил гайки. Вчера в первый проход всё работало, я остановил, начал заново и он заглох. Сейчас открывает страницу поиска, затем вкладку, но пустую about:blank. В консоли на странице поиска авито блокает куки, пишет, что "неудовлетворительная версия 18.2.0 от avito-desktop-сайта общего одноэлементного модуля react (требуется ^16.14.0)". Ну и некоторые другие ошибки. А на пустой странице пишет: Not allowed to navigate top frame to data URL: data:, ....

    • @the_parse_hub
      @the_parse_hub  7 месяцев назад

      Да, есть проблемы. Нужно разбираться

  • @noname-lp6yb
    @noname-lp6yb Год назад

    кому не сложно, можете обьяснить как это все запустить? Скачал Python, а дальше вообще не понимаю

    • @WounderVaflel
      @WounderVaflel 11 месяцев назад

      Разобрался? Питончик стал частью твоей жизни?

  • @КирюшаИзКриуши
    @КирюшаИзКриуши Год назад

    у меня скрипт обрывается на ошибке elenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[class *= 'item-description']"}. Думаю решить через 'try'? Хотя в инструкции по селениуму написано о том, что вполне вероятно не вся страница загрузилась, потому и не находит элемент. Надо думать про задержки WebDriverWait

    • @the_parse_hub
      @the_parse_hub  Год назад

      У Вас точно самая последняя версия 1.06? Просто в прошлых версиях была такая проблема, в новой должно работать

    • @КирюшаИзКриуши
      @КирюшаИзКриуши Год назад

      @@the_parse_hub selenium 4.10, undetected_chromedriver - 3.5, Сhrome - 114. не понял вопроса и ответил фигню). Я по предыдущему переписал код а не с гитхаба скачал. Но поковыряю гит. В любом случае спасибо за контент). У Вас проблема решена в методе __parse_page через if ... else description = ' '

  • @roman_roman9
    @roman_roman9 9 месяцев назад

    Что значит установить зависимости? Как это сделать?

    • @the_parse_hub
      @the_parse_hub  9 месяцев назад +1

      Для работы данного парсера требуются сторонние библиотеки, поэтому их нужно установить.
      Вообще весь путь установки выглядит так:
      - установить python
      - по желанию можно установить какую-то среду разработки, например PyCharm, тогда можно будет что-то исправить в коде без особых проблем
      - скопировать весь код с гитхаба себе
      - установить зависимости командой: pip install -r requirements.txt
      - запустить AvitoParser.py