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
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
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
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