Что читать, чтобы собирать данные из веба — и куда их потом класть
Веб-скрапинг — дисциплина обманчиво простая на входе и широкая по сути. Чтобы написать рабочий парсер, придётся коснуться 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».
Как собрать свою подборку
Минимальный практичный набор выглядит так:
- Ядро по скрапингу — Митчелл (на нужном языке, последнее издание).
- Регулярные выражения — глава у Митчелл + «Regular Expressions Cookbook» как справочник; Фридл — по мере углубления.
- Хранение — «Seven Databases in Seven Weeks» (2-е изд.) для выбора модели данных; DDIA — когда вырастут масштабы; книга по конкретной выбранной базе.
Дальнейшее сужение зависит от стека и типа целевых данных: таблицы товаров, тексты статей, графы связей и потоковые данные требуют разных инструментов хранения и, соответственно, разного порядка чтения.