Домашнее задание 5: Асинхронное программирование
📚 Лекция: Асинхронное программирование
8 дней с момента занятия.
Задача 5.1: Асинхронное скачивание картинок
Асинхронное скачивание картинок/файлов с picsum.photos (этот сайт отдаёт каждый раз уникальные картинки).
Сделать Python-скрипт, которому можно указать количество отличных друг от друга файлов, которые нужно загрузить в нужную папку. Использовать aiohttp.
Не используйте блокирующий код при написании тасок для асинхронного выполнения.
Задача 5.2: Асинхронный скрапер
Асинхронный скрапер объявлений на съём жилья с cian.ru | realty.yandex.ru | avito.ru.
- Скачивание основной информации
- Сохранение в удобном для использования формате
- Автоматический поиск новых объявлений с некоторой периодичностью
Задача 5.3: База данных и Telegram-бот
Реализация БД (можно просто хранить файлы) для хранения данных от скрапера.
Реализация Telegram-бота (aiogram), в котором можно подписаться на конкретные запросы (фильтры) по съёму жилья. При появлении в базе подходящего объявления — присылать информацию об объявлении, ссылку на объявление.
В идеале — завернуть всю программу в Docker, чтобы можно было развернуть на удалённом сервере.
Осторожнее относитесь к своим токенам и не сливайте их в сеть! Используйте переменные окружения или .env файлы (добавленные в .gitignore).