Книги по парсингу и скрапингу: обзорная статья

Подборка книг по парсингу и веб-скрапингу: от учебников по Python-скрапингу до работ о краулерах, антиботах и правовых аспектах.

КP
Команда Parsing.agency
Сбор данных под задачи бизнеса
Опубликовано: 12 февраля 2025

Что читать, чтобы собирать данные из веба — и куда их потом класть

Веб-скрапинг — дисциплина обманчиво простая на входе и широкая по сути. Чтобы написать рабочий парсер, придётся коснуться HTTP и HTML, регулярных выражений, обхода анти-бот-защиты, очистки «грязных» данных и, наконец, их хранения. Поэтому грамотная подборка литературы — это не одна книга, а небольшая «обойма»: ядро по самому скрапингу плюс книги по смежным темам. Ниже — обзор того, что стоит читать, с разбивкой по языку и отдельными разделами про регулярные выражения и базы данных.

Сразу зафиксируем главное: «эталонная» книга в нише одна и та же на обоих языках — это Web Scraping with Python Райан Митчелл. Актуально третье, существенно переработанное издание. Всё остальное выстраивается вокруг неё.


Часть 1. Литература на русском языке

Особенность русскоязычного сегмента: оригинальных книг строго по скрапингу почти нет, в обороте в основном переводы. Поэтому стратегия для русскоязычного читателя — взять переводного Митчелл как ядро и добрать русскими книгами по сопутствующим темам (Python, SQL, регулярные выражения).

Райан Митчелл. «Парсинг с помощью Python. Веб-скрапинг в действии» (Питер, 2025)

Перевод того самого третьего издания — самый свежий и полный вариант на русском. Книга показывает, как анализировать сложные HTML-страницы, разрабатывать веб-сканеры на Scrapy, хранить полученные данные, читать и извлекать данные из документов, очищать и нормализовывать плохо отформатированные данные, обходить противоскрапинговые ловушки и блокаторы ботов, а также работать с JavaScript и API. Если берёте одну книгу на русском — берите эту.

Райан Митчелл. «Современный скрапинг веб-сайтов с помощью Python» (Питер, 2021)

Перевод второго издания. Ещё встречается в продаже и дешевле, но частично устарел по инструментам. Полезный ориентир из читательских отзывов: книга лучше всего заходит тем, у кого уже есть полгода-год опыта в Python, но нет опыта именно в парсинге.

Райан Митчелл. «Скрапинг веб-сайтов с помощью Python» (ДМК-Пресс, 2016)

Первое издание. Имеет смысл только если попадётся бесплатно: многое устарело — API Selenium, версии библиотек, отдельные подходы.

Вывод по разделу. За пределами Митчелл качественной самостоятельной русской книги именно по скрапингу практически нет. Поэтому ядро (Митчелл) дополняем русскоязычными книгами по Python, SQL и регулярным выражениям — см. соответствующие разделы ниже.


Часть 2. Литература на английском языке

Здесь выбор шире, и можно собрать набор под разные задачи.

Ryan Mitchell. Web Scraping with Python, 3rd ed. (O'Reilly, 2024)

Базовый учебник. Сильная сторона — автор честно признаёт, что скрапинг лежит на стыке многих областей и требует работы с базами данных, веб-серверами, HTTP, HTML, интернет-безопасностью, обработкой изображений и наукой о данных, а потому даёт обзорное введение в каждую из них. Структура классическая: первая часть — механика скрапинга (запросы к серверу, обработка ответов, автоматизация), вторая — продвинутые инструменты и сценарии (Scrapy, хранение, документы, естественные языки, формы и логины, JavaScript, API, распознавание изображений, обход блокировок).

Seppe vanden Broucke & Bart Baesens. Practical Web Scraping for Data Science (Apress)

Упор на data science. Авторы — учёные в области данных, и книга даёт краткое современное руководство по парсингу, не скрывая важных подробностей и лучших практик. Хороший выбор, если парсинг для вас — первый шаг датасайенс-проекта (сбор датасета, очистка, подготовка к анализу).

Python Web Scraping Cookbook (Packt)

Формат «рецептов» под конкретные задачи: прокси, капчи, Scrapy, докеризация, развёртывание. Полезна как настольный справочник, а не как учебник «с нуля».

Hands-On Web Scraping with Python (Packt)

Практико-ориентированная, с акцентом на извлечение качественных данных и современные техники. Дополняет Митчелл прикладными примерами.

Al Sweigart. Automate the Boring Stuff with Python

Не про скрапинг целиком, но содержит отличную вводную главу и доступна бесплатно онлайн. Идеальная точка старта, если Python ещё шаткий.

Оговорка. Книги от Packt и подобные «протухают» быстрее Митчелл: библиотеки и анти-бот-защита меняются стремительно. Код всегда сверяйте с актуальной документацией библиотек.


Регулярные выражения

Регулярки — рабочая лошадка парсинга. Важная оговорка: для разбора HTML лучше использовать специализированные парсеры (BeautifulSoup, lxml), а regex держать для «грязного» текста, логов, валидации и постобработки уже извлечённых данных. Канон здесь стабилен и почти не устаревает.

Jeffrey Friedl. Mastering Regular Expressions, 3rd ed. (O'Reilly, 2006)

«Библия» по теме. На русском выходила как Джеффри Фридл, «Регулярные выражения» (Символ-Плюс). Несмотря на возраст, концептуально не устарела: объясняет, как движок регулярных выражений работает изнутри — NFA/DFA, бэктрекинг, оптимизация паттернов. Книга тяжёлая, но после неё regex перестают быть магией.

Jan Goyvaerts & Steven Levithan. Regular Expressions Cookbook, 2nd ed. (O'Reilly, 2012)

Практический сборник готовых решений под разные языки, включая Python. Удобна как справочник рядом с Фридлом.

Michael Fitzgerald. Introducing Regular Expressions (O'Reilly)

Мягкое введение, если Фридл пугает с порога.

Как читать. Для большинства задач парсинга достаточно главы о регулярных выражениях в самой книге Митчелл плюс «Cookbook» под рукой. К Фридлу обращайтесь, когда упрётесь в производительность или сложные паттерны.


Хранение данных: «7 баз за 7 недель» и контекст

Результаты парсинга нужно куда-то складывать, и выбор хранилища зависит от типа данных:

  • плоские таблицы → реляционная БД (PostgreSQL, MySQL);
  • вложенный JSON → документная БД (MongoDB, CouchDB);
  • связи между сущностями → графовая БД (Neo4J);
  • кэш, очереди, временные данные → key-value (Redis).

Под эту задачу есть профильные книги.

Luc Perkins, Eric Redmond, Jim Wilson. Seven Databases in Seven Weeks, 2nd ed. (Pragmatic Bookshelf, 2018)

Та самая «7 баз за 7 недель». Второе издание — исчерпывающий гид по миру NoSQL: семь технологий — Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres и DynamoDB. Главная ценность для специалиста по парсингу в том, что книга учит мыслить моделями данных: по ходу разбираются пять моделей — реляционная, ключ-значение, колоночная, документная и графовая — с точки зрения задач реальных приложений. Это ровно ответ на вопрос «какой тип данных — в какую базу».

Про издания: в первом издании была глава про Riak, во втором её заменили главой про DynamoDB и обновили примеры. Берите именно второе издание. Оговорка: книга 2018 года, отдельные CLI-команды могли устареть — но как карта «жанров» баз данных она по-прежнему лучшая.

Martin Kleppmann. Designing Data-Intensive Applications (O'Reilly)

Если «7 баз» отвечает на вопрос «какие бывают базы», то DDIA отвечает «как осознанно выбирать и не выстрелить себе в ногу»: репликация, согласованность, форматы кодирования, отказоустойчивость. Золотой стандарт, когда объёмы парсинга вырастают. На русском выходила как «Высоконагруженные приложения».

Bruce Tate. Seven Languages in Seven Weeks

Книга-родоначальница серии — именно из неё пришёл формат «семи за семь». К парсингу прямого отношения не имеет, упомянута для полноты картины.

Узкие книги под конкретную базу

Под связку с парсингом полезны точечные книги по PostgreSQL (часто одной реляционки достаточно для старта) и MongoDB (если льёте сырой JSON). На русском как минимальная база по запросам подойдёт Алан Бьюли, «Изучаем SQL».


Как собрать свою подборку

Минимальный практичный набор выглядит так:

  1. Ядро по скрапингу — Митчелл (на нужном языке, последнее издание).
  2. Регулярные выражения — глава у Митчелл + «Regular Expressions Cookbook» как справочник; Фридл — по мере углубления.
  3. Хранение — «Seven Databases in Seven Weeks» (2-е изд.) для выбора модели данных; DDIA — когда вырастут масштабы; книга по конкретной выбранной базе.

Дальнейшее сужение зависит от стека и типа целевых данных: таблицы товаров, тексты статей, графы связей и потоковые данные требуют разных инструментов хранения и, соответственно, разного порядка чтения.