Введение и цель видео 0:08 Приветствие и анонс обучения парсингу на практике. Объяснение цели: сбор данных о калорийности продуктов с сайта ЗОЖ-портала. Рекомендация посмотреть видео по использованию библиотеки BeautifulSoup для новичков.
План действий и установка библиотек 1:08 Описание порядка действий: сбор ссылок на страницы групп продуктов, сбор информации о химическом составе. Установка библиотек: requests, beautifulsoup, soup, e.
Сохранение индексной страницы 1:53 Создание переменной для ссылки на страницу. Использование метода get библиотеки requests с заголовками для имитации поведения пользователя. Сохранение страницы в файл для дальнейшего использования.
Анализ страницы с помощью BeautifulSoup 4:20 Создание объекта BeautifulSoup и передача ему кода страницы. Поиск ссылок на категории товаров по классу. Сбор ссылок с помощью метода find_all.
Обработка ссылок и сохранение данных 5:47 Получение названия категории и ссылки с помощью методов text и get. Добавление доменного имени к ссылке. Сохранение данных в словаре.
Сохранение словаря в JSON-файл 6:43 Импорт модуля json и сохранение словаря в JSON-файл. Объяснение параметров indent и encode для корректного сохранения данных.
Цикл для сбора данных о категориях 8:02 Создание цикла для посещения страниц категорий. Замена символов в именах категорий с помощью метода replace. Предложение поделиться идеями по замене символов в комментариях.
Подготовка к работе с запросами 9:21 Прокомментируем заголовки для повторного использования. Сохраняем результат в переменную и страницу под именем «категории». Создаём папку «data» для сохранения файлов и переменную «аккаунт» для счётчика файлов.
Тестирование кода на одной странице 9:51 Обертываем код в условие if для работы с одной страницей. Проверяем работу кода, запуская его.
Сбор данных с страницы 10:32 Сохраняем код страницы в переменную. Создаём объект BeautifulSoup и находим заголовки таблицы: «продукт», «калорийность», «белки», «жиры», «углеводы». Собираем данные из тегов TH.
Запись данных в файл 12:38 Открываем файл для записи с расширением CSV. Импортируем модуль csv и создаём переменную writer. Записываем данные в файл, объединяя объекты в кортеж.
Сбор данных продуктов 13:47 Собираем данные продуктов из тегов TD и TH. Выводим название продукта и другие данные. Дозаписываем данные в CSV-файл в цикле.
Обработка пустых категорий 15:55 Добавляем условие для обработки пустых категорий. Создаём переменную для количества страниц категорий. Выводим принт после каждой итерации.
Добавление паузы и завершение работы 17:08 Добавляем рандомную паузу между итерациями. Проверяем количество итераций и выходим из цикла при нуле.
Создание файла в формате JSON 17:35 Создаём список product_info для сбора данных в формате JSON. Сохраняем файл с параметрами.
Тестирование и итоги 18:39 Запускаем код, процесс стартует. В папке «data» теперь три файла: CSV, HTML и JSON. Проект интересен практикой работы с библиотеками и получением полезных данных.
Заключение 19:51 Автор благодарит за просмотр и призывает подписываться на канал. Предлагает скачать код с GitHub или Telegram-канала.