Добро пожаловать на курс «The Ultimate Web Scraping With Python Bootcamp», единственный курс, который вам нужен, чтобы перейти от абсолютного новичка в Python до очень компетентного в области веб-скрапинга.
Веб-скрапинг — это процесс программного извлечения данных из интернета. Скрапинг-агенты посещают веб-ресурсы, извлекают содержимое и обрабатывают полученные данные, чтобы извлечь определенную информацию.
Скрапинг — это навык программирования, который предоставляет мгновенную обратную связь и может использоваться для автоматизации множества задач по сбору и обработке данных.
В ближайшие 17+ часов мы методично рассмотрим все, что вам нужно знать, чтобы писать скрапинг-агенты в Python.
Этот буткемп организован в три части, уровень сложности в которых постепенно увеличивается, чтобы помочь вам постепенно развивать свои навыки.
Часть I — Начало
Мы начнем с понимания того, как работает веб, рассмотрев HTTP, ключевой протокол прикладного уровня для обмена данными в современном вебе. Затем мы более подробно изучим HTML, CSS и JavaScript, чтобы глубже понять, как создаются веб-сайты. Наконец, мы узнаем, как использовать Python для отправки HTTP-запросов и разбора полученных данных в HTML, CSS и JavaScript, чтобы извлекать необходимую информацию. Нашей целью в первой части курса является создание надежного фундамента в области веб-скрапинга и Python, и применение этих навыков на практике, создавая функциональные скрейперы с нуля. Выбранные темы включают в себя:
- подробный обзор цикла запрос-ответ
- понимание юзер-агентов, HTTP-глаголов, заголовков и статусов
- понимание того, как и почему пользовательские заголовки часто используются для обхода платных стен
- мастерство библиотеки requests для работы с HTTP в Python
- что означает отсутствие состояния и как работают куки
- рассмотрение роли прокси-серверов в современных веб-архитектурах
- BeautifulSoup для разбора и извлечения данных
Часть II — Совершенствование
Во второй части курса мы будем строить на уже созданных фундаментах, чтобы исследовать более продвинутые темы в области веб-скрапинга. Мы узнаем, как скрейпить динамические веб-сайты, которые используют JavaScript для отображения своего контента, настроив Microsoft Playwright как браузер без графического интерфейса для автоматизации этого процесса. Мы также узнаем, как идентифицировать и эмулировать вызовы API для скрапинга данных с веб-сайтов, у которых нет официальных общедоступных API. Проекты в этом разделе будут включать в себя скрейпер изображений, который может скачивать определенное количество высокоразрешенных изображений по ключевому слову, а также другого скрейпера, извлекающего цену и описание скидочных видеоигр с динамически генерируемого веб-сайта. Среди тем:
- идентификация и использование скрытых API, а также понимание преимуществ, которые они предоставляют
- эмуляция заголовков, куки и тела запроса с легкостью
- автоматическая генерация Python-кода из перехваченных API-запросов с использованием Postman и httpie
- работа с высокопроизводительной библиотекой парсинга selectolax
- мастерство CSS-селекторов
- введение Microsoft Playwright для headless навигации и динамической отрисовки
Часть III — Мастерство
В последней части курса мы познакомимся с Scrapy. Это предоставит нам отличный, проверенный временем фреймворк для создания более сложных и надежных веб-скрейперов. Мы узнаем, как настроить Scrapy в виртуальной среде и создать пауки и конвейеры для извлечения данных с веб-сайтов в различных форматах. После изучения использования Scrapy, мы затем рассмотрим, как интегрировать его с Playwright, чтобы справиться с вызовом скрапинга динамических веб-сайтов прямо в Scrapy. Мы завершим этот раздел, создав скрапер, который выполняет пользовательский JavaScript-код, а затем возвращает полученный HTML в Scrapy. Некоторые темы этого раздела:
- изучение настройки Scrapy и изучение его командной строки («инструмент Scrapy»)
- динамическое изучение объектов ответов с использованием Scrapy Shell
- понимание и определение схем элементов и загрузка данных с использованием загрузчиков элементов и процессоров ввода/вывода
- интеграция Playwright в Scrapy для работы с динамическими веб-сайтами, работающими на JavaScript
- написание методов страниц для указания очень конкретных инструкций браузеру без графического интерфейса прямо из Scrapy
- определение пользовательских конвейеров для сохранения в SQL-базы данных и выдачи в сильно настраиваемых форматах вывода
В этом буткемпе я проведу вас шаг за шагом через увлекательные видеолекции и научу всему, что вам нужно знать, чтобы начать веб-скрейпинг в Python.
К концу этого курса у вас будет полный набор инструментов для концептуализации и создания скраперов для любого веб-сайта, который вы себе можете представить.