Находит объявления на avito.ru по ключевым словам. Присылает уведомления в telegram и сохраняет результат в csv файл.
- Ошибка при попытке прочитать описание (selector "[class*='item-description']")
- Дублирование объявления при отправке в telegram
- Иногда не работала кнопка test (тестирование отправки сообщений в telegram) без перезапуска скрипта
- Другие мелкие баги
-
С сайта парсится теперь больше информации: "Название", "Цена", "Ссылка", "Описание", "Просмотров", "Дата публикации", "Продавец"
-
Результат сохраняется в csv файл в папке result (более удобно работать)
-
Браузер использует случайный юзер-агент из файла user_agent_pc.txt, можете добавить большее количество самостоятельно (но это необязательно)
-
Сильно улучшена стабильность работы
-
Оставлена возможность запуска скрипта без графического интерфейса, все настройки задаются в файле settings.ini
-
Увеличено максимальное количество уже просмотренных сообщений до 5000 (хранится в файле viewed.txt и очищается автоматически при достижении лимита)
-
Увеличено окно вывода результата и переделан сам вывод
- Исправлены старые ошибки и добавлены новые)
- Добавлено поле минимальная цена, теперь можно указывать верхнюю и нижнюю границу цены
- Исправлен баг, связанный с отсутствием viewed.txt
- Улучшена стабильность работы
- Добавлена возможность запуска скрипта без графического интерфейса, все настройки задаются в файле settings.ini. После нужно запустить parser_cls.py, таким образом, удобно запускать скрипт на удаленном сервере
- Исправлена ошибка когда на страницы нет кнопки "Далее"
- Добавлено поле максимальная цена, теперь можно искать не только бесплатные объявления
Первая версия (создание самого парсера) https://youtu.be/pbzPkZcVOx0
Вторая версия (обзор нововведений: графический интерфейс, уведомления и как это работает) https://youtu.be/OjId94hYWnc
Для работы требуется Python 3.5+. Скопируйте проект и установите зависимости:
pip install -r requirements.txt
У Вас также должен быть установлен браузер Google Chrome любой более менее свежей версии. Скрипт тестировался на версиях 108-112
Запустите AvitoParser.py
python AvitoParser.py
- Перейдите в диалог с https://t.me/BotFather
- Введите команду /newbot, придумайте name и username для бота
- Скопируйте token и вставьте в первое поле скрипта
- Перейдите в диалог с Вашим ботом по ссылке из прошлого шага, ссылка имеет формат: t.me/your_bot
- Напишите @get_id_bot и скопируйте chat_id вашего диалога, вставьте его во второе поле данного скрипта
- При нажатии на кнопку Test в скрипте, Вам должно прийти сообщение. Если нет, перезагрузите скрипт и попробуйте еще раз
- Удобное управление с помощью графического интерфейса
- Проверка новых объявлений
- Установка количества проверяемых страниц
- Установка паузы между повторами
- Уведомление в telegram как опция, также результат сохраняется в result/keyword*.json и выводится в окно
- Хранение уже просмотренных объявлений, т.е. дубли игнорируются
- Присылает только объявление, у которых цена = 0, рекламные объявления отсекаются
- Установка слов-ключей, которые должны быть в описании объявления
- Больше не нужно вводить версию Chrome, скрипт сам её определит (работает для Linux и Windows)
При обнаружении ошибок, ждем в https://github.com/Duff89/parser_avito/issues
Поддержать разработку можно по ссылке: https://yoomoney.ru/to/410014382689862
Если понадобятся хорошие прокси для подобных скриптов, рекомендую: https://proxy6.net/?r=54545 (купон для скидки SdSq8wCwJA)