Парсинг на Python | Зарабатываем на фрилансе | Телеграм бот на aiogram | Парсинг динамического сайта

YOUTUBE · 19.11.2025 03:52

Ключевые темы и таймкоды

Введение и цель видео

0:08
  • Приветствие и представление канала Python Today.
  • Объявление о выполнении заказа по парсингу данных на фрилансе.
  • Использование библиотеки requests и запись данных в файл.
  • Завершение работы в виде телеграм-бота на Python.

Описание задачи и мотивация

1:06
  • Заказчик зарабатывает от 5000 долларов в месяц на перепродаже скинов.
  • Цены на скины могут достигать десятков тысяч долларов.
  • Необходимость быть в курсе скидок и маркеров редкости и качества.

Начало работы и установка библиотек

1:58
  • Написание кода парсера для одной категории товаров.
  • Установка библиотеки requests и фейк юзер эйджинт.
  • Импорт необходимых библиотек и создание функций.

Анализ сайта и выбор параметров

3:33
  • Обзор структуры сайта и выбор категории ножей.
  • Использование инструментов разработчика для анализа запросов.
  • Определение параметров для получения данных.

Настройка параметров и отправка запросов

4:31
  • Анализ параметров GET-запросов и их корректировка.
  • Использование параметра offset для получения новых порций данных.
  • Проверка условий для завершения работы при достижении лимита данных.

Написание кода и отправка GET-запросов

7:01
  • Отправка GET-запроса и сохранение ответа в JSON-файл.
  • Создание переменных offset и batch_size.
  • Написание цикла для генерации ссылок и увеличения offset.

Формирование URL и отправка данных

9:22
  • Формирование URL с параметрами для получения данных.
  • Отправка GET-запроса и проверка получения данных.
  • Помещение данных в переменную и обращение к ключу items.

Проверка позиций и сбор данных

10:20
  • Проверяем позиции на наличие скидки не менее 10%.
  • Собираем только те позиции, где значение ключа "оверпрайз" не NaN.
  • Если процент скидки больше 10%, собираем наименование, ссылку, прайс и процент скидки.
  • Создаем список для хранения данных и проверяем, что если данных меньше 60, завершаем сбор.

Тестирование кода

12:25
  • Заводим переменную "аккаунт" и увеличиваем её на каждой итерации.
  • Выводим принты в терминал для отслеживания прогресса.
  • Записываем данные в JSON-файл и выводим промежуточные принты.
  • Тестируем код, проверяем, что отработало 8 страниц.

Создание Telegram-бота

14:36
  • Устанавливаем библиотеку для работы с Telegram.
  • Создаем объект бота и передаем токен.
  • Указываем тип разметки в HTML для красивого формирования карточек.
  • Создаем функцию ответа на команду "старт" и формируем клавиатуру.

Тестирование бота

16:38
  • Запускаем бота и проверяем его работу.
  • Пишем хендлер для получения ножей и проверяем точное совпадение текста кнопки.
  • Импортируем функцию по сбору данных и формируем карточку для вывода.

Модернизация функции

20:56
  • Модернизируем функцию для сбора данных из разных категорий.
  • Добавляем параметр для выбора категории, например, "винтовки".
  • Тестируем бота, проверяем вывод данных для разных категорий.

Заключение

22:47
  • Подводим итоги, благодарим за просмотр.
  • Призываем поставить лайк и подписаться на канал.
  • Делимся ссылками на GitHub и Telegram для получения дополнительной информации.