Formatos e fontes de dados 6 min de leitura

Livros sobre web scraping e extração de dados: panorama

Seleção de livros sobre web scraping e extração de dados: dos manuais de scraping com Python às obras sobre crawlers, sistemas anti-bots e bancos de dados.

EW
Equipe Web-Scraping.biz
Coleta de dados para as demandas do negócio
Publicado: 12 fevereiro 2025

O que ler para coletar dados da web — e onde guardá-los depois

O web scraping é uma disciplina enganosamente simples no começo e muito ampla no fundo. Para escrever um scraper que funcione, você vai precisar encostar em HTTP e HTML, nas expressões regulares, na evasão de proteções anti-bots, na limpeza de dados «sujos» e, por fim, no armazenamento deles. Por isso uma boa seleção de leituras não é um único livro, mas um pequeno «arsenal»: um núcleo sobre o scraping em si mais obras sobre os temas vizinhos. A seguir, um panorama do que vale a pena ler, com seções dedicadas às expressões regulares e aos bancos de dados.

Vamos deixar claro o essencial desde o início: a obra de referência do nicho é Web Scraping with Python, de Ryan Mitchell. A edição vigente é a terceira, revisada a fundo. Todo o resto se organiza em torno dela.


A literatura em inglês

Em inglês, a oferta é ampla e permite montar um conjunto sob medida para cada tarefa.

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

O manual de base. Seu ponto forte: a autora reconhece com honestidade que o scraping fica no cruzamento de muitas áreas e exige trabalhar com bancos de dados, servidores web, HTTP, HTML, segurança na internet, processamento de imagens e ciência de dados, e por isso oferece uma introdução panorâmica a cada uma delas. A estrutura é clássica: a primeira parte cobre a mecânica do scraping (requisições ao servidor, processamento de respostas, automação); a segunda, ferramentas e cenários avançados (Scrapy, armazenamento, documentos, linguagem natural, formulários e logins, JavaScript, API, reconhecimento de imagens, evasão de bloqueios).

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

A ênfase está na ciência de dados. Os autores são cientistas de dados, e o livro oferece um guia moderno e conciso do scraping que não esconde os detalhes importantes nem as boas práticas. Uma boa escolha se, para você, o scraping é o primeiro passo de um projeto de ciência de dados (coletar o dataset, limpá-lo, prepará-lo para a análise).

Python Web Scraping Cookbook (Packt)

Formato de «receitas» para tarefas específicas: proxies, captchas, Scrapy, dockerização, deploy. Útil como manual de consulta, não como livro-texto «do zero».

Hands-On Web Scraping with Python (Packt)

Voltado à prática, com o foco em extrair dados de qualidade e nas técnicas modernas. Complementa o Mitchell com exemplos aplicados.

Al Sweigart. Automate the Boring Stuff with Python

Não trata o scraping por inteiro, mas contém um excelente capítulo introdutório e está disponível de graça na internet. O ponto de partida ideal se o seu Python ainda manca.

Uma ressalva. Os livros da Packt e afins ficam desatualizados mais rápido que o do Mitchell: as bibliotecas e as proteções anti-bots mudam a toda velocidade. Confira sempre o código com a documentação atual das bibliotecas.


Expressões regulares

As regex são o cavalo de batalha do parsing. Um aviso importante: para analisar HTML convém usar parsers especializados (BeautifulSoup, lxml) e reservar as expressões regulares para o texto «sujo», os logs, a validação e o pós-processamento dos dados já extraídos. O cânone aqui é estável e quase não envelhece.

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

A «bíblia» do tema. Apesar da idade, conceitualmente continua válido: explica como funciona por dentro um motor de expressões regulares — NFA/DFA, backtracking, otimização de padrões. É um livro denso, mas, depois de lê-lo, as regex deixam de ser mágica.

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

Um receituário prático de soluções prontas para diferentes linguagens, Python incluído. Prático como referência ao lado do livro de Friedl.

Michael Fitzgerald. Introducing Regular Expressions (O'Reilly)

Uma introdução leve, para o caso de o Friedl intimidar já na primeira página.

Como lê-los. Para a maioria das tarefas de scraping, basta o capítulo sobre expressões regulares do próprio Mitchell mais o «Cookbook» à mão. Recorra ao Friedl quando esbarrar no desempenho ou em padrões complexos.


Armazenamento de dados: «7 bancos de dados em 7 semanas» e seu contexto

Os resultados do scraping precisam ser guardados em algum lugar, e a escolha do armazenamento depende do tipo de dados:

  • tabelas planas → banco de dados relacional (PostgreSQL, MySQL);
  • JSON aninhado → banco de dados de documentos (MongoDB, CouchDB);
  • relações entre entidades → banco de dados de grafos (Neo4J);
  • cache, filas, dados temporários → chave-valor (Redis).

Para essa tarefa existem livros específicos.

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

O famoso «7 bancos de dados em 7 semanas». A segunda edição é um guia completo do mundo NoSQL: sete tecnologias — Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres e DynamoDB. Seu principal valor para quem se dedica ao scraping é que ensina a pensar em modelos de dados: ao longo do livro são analisados cinco modelos — relacional, chave-valor, colunar, de documentos e de grafos — pela perspectiva de aplicações reais. É exatamente a resposta à pergunta «que tipo de dados vai para qual banco?».

Sobre as edições: a primeira incluía um capítulo sobre o Riak; na segunda, ele foi substituído por um sobre o DynamoDB, e os exemplos foram atualizados. Escolha justamente a segunda edição. Uma ressalva: o livro é de 2018 e alguns comandos de CLI podem ter ficado obsoletos, mas, como mapa dos «gêneros» de bancos de dados, ele continua sendo o melhor.

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

Se «7 bancos de dados» responde à pergunta «que bancos de dados existem?», o DDIA responde a «como escolher com critério e não dar um tiro no próprio pé?»: replicação, consistência, formatos de codificação, tolerância a falhas. O padrão-ouro quando os volumes de scraping crescem.

Bruce Tate. Seven Languages in Seven Weeks

O livro que deu origem à série: dele veio o formato dos «sete em sete semanas». Não tem relação direta com o scraping; nós o mencionamos para completar o panorama.

Livros focados em um banco de dados específico

Em conjunto com o scraping, são úteis os livros específicos sobre PostgreSQL (muitas vezes um único banco relacional basta para começar) e sobre MongoDB (se você despeja JSON bruto). Como base mínima para as consultas SQL serve o Learning SQL, de Alan Beaulieu (O'Reilly).


Como montar a sua própria seleção

O conjunto mínimo prático fica assim:

  1. O núcleo de scraping — Mitchell (a última edição).
  2. Expressões regulares — o capítulo do próprio Mitchell + o «Regular Expressions Cookbook» como referência; Friedl, à medida que se aprofundar.
  3. Armazenamento — «Seven Databases in Seven Weeks» (2.ª ed.) para escolher o modelo de dados; DDIA, quando a escala crescer; e um livro sobre o banco específico escolhido.

O nível de detalhe seguinte depende do seu stack e do tipo de dados-alvo: as tabelas de produtos, os textos de artigos, os grafos de relações e os dados em streaming exigem ferramentas de armazenamento diferentes e, por consequência, uma ordem de leitura diferente.