Tutorial de Web Scraping em PHP

Básicos

Introdução ao Parsing Limitações do PHP Limite de Tempo de Execução Limite de Memória Ignorar o Aborto do Navegador Posicionamento do Parser Manipulações Preparatórias

Expressões Regulares

Introdução Analisando strings com quebras de linha Analisando texto russo Analisando tags simples Analisando tags com atributos Analisando tags repetidas Analisando blocos de tags Análise de blocos em duas etapas Problema dos espaços em atributos Problema das aspas em atributos Problema dos nomes das tags Limpeza preliminar do texto Limpando dados durante a análise Problemas da análise com expressões regulares Prática em análise com expressões regulares

Bibliotecas

Lista de bibliotecas

Biblioteca DiDom

Instalação Analisar texto de uma variável Analisar texto de uma URL Texto do primeiro elemento Código HTML do elemento Código HTML interno do elemento Seletores CSS Atributos de tags Pesquisar dentro de elementos Array de elementos Atributos para um array de elementos Documentação Praticum

Caminhos

Normalização de caminhos absolutos Normalização de caminhos relativos Normalização de caminhos deslocados Normalização universal de caminhos Links para sites externos

Codificações

Obtendo a codificação da página Normalização de codificação

Métodos

Função de obtenção de página Função de obtenção de links Parsing por links Método de parsing por etapas Método de crawler em array Método de crawler no banco de dados Método de crawler com eliminação Parsing baseado em sitemap.xml

Arquivos

Análise de arquivos Análise de imagens Análise de arquivos CSS Análise de arquivos JavaScript Análise de arquivos de áudio Análise de arquivos de vídeo

Formulários

Envio de formulários com método GET Envio de formulários com método POST Armadilhas no envio de formulários Autorização automática

CAPTCHA

Introdução Funcionamento do CAPTCHA Contornando o CAPTCHA Serviços de Reconhecimento

Automação

Logs na análise Cache na análise Salvamento em caso de interrupção Início agendado no navegador Início agendado na hospedagem

Contornando Proteções

Contornando proteções contra parsing Atrasos no parsing Mudança de IP em casa Mudança de IP durante o parsing Cookies no parsing Cabeçalhos HTTP no parsing USERAGENT no parsing Versão móvel do site Utilização de API

Conteúdo Dinâmico

Problema Análise AJAX

Prática

Prática Inicial Prática de Postagem Automática Prática Final
bydeenesfrptru