Revisão de Semalt: raspagem na Web por diversão e lucro

Você pode raspar o site sem a necessidade de uma API. Embora os proprietários do site sejam agressivos ao interromper a raspagem, eles se importam menos com as APIs e, em vez disso, dão mais ênfase aos sites. O fato de muitos sites não protegerem adequadamente o acesso automático cria uma margem de manobra para os raspadores. Algumas soluções simples ajudarão você a coletar os dados necessários.

Introdução à raspagem

A raspagem requer a compreensão da estrutura dos dados necessários e de sua acessibilidade. Isso começa buscando seus dados. Encontre o URL que retorna as informações necessárias. Navegue pelo site e verifique como os URLs mudam conforme você navega pelas diferentes seções.

Como alternativa, pesquise vários termos no site e verifique como os URLs mudam com base no seu termo de pesquisa. Você verá um parâmetro GET como q = que muda sempre que pesquisar um novo termo. Mantenha os parâmetros GET necessários para carregar seus dados e remova os outros.

Como lidar com a paginação

A paginação impede que você acesse todos os dados necessários de uma só vez. Quando você clica na página 2, um parâmetro offset = é adicionado ao URL. Este é o número de elementos em uma página ou o número da página. Incremente esse número em todas as páginas dos seus dados.

Para sites que usam AJAX, abra a guia de rede no Firebug ou Inspector. Verifique as solicitações de XHR, identifique e foque naquelas que extraem seus dados.

Obter dados da marcação de página

Isso é obtido usando ganchos CSS. Clique com o botão direito do mouse em uma seção específica dos seus dados. Puxe o Firebug ou Inspector e dê um zoom na árvore do DOM para obter o <div> máximo que envolve um único item. Depois de ter o nó correto da árvore DOM, visualize a origem da página para garantir que seus elementos estejam acessíveis em HTML bruto.

Para raspar com sucesso, você precisa de uma biblioteca de análise de HTML que leia em HTML e a converta em um objeto que você pode iterar até obter o que precisa. Se sua biblioteca HTTP exigir que você defina alguns cookies ou cabeçalhos, navegue no site no seu navegador da web e obtenha os cabeçalhos sendo enviados pelo seu navegador. Coloque-os em um dicionário e encaminhe sua solicitação.

Quando você precisa de um login para raspar

Se você precisar criar uma conta e efetuar login para obter os dados desejados, precisará de uma boa biblioteca HTTP para lidar com logins. O login do raspador expõe você a sites de terceiros.

Se o limite de taxa do seu serviço da Web depender do endereço IP, defina um código que atinja o serviço da Web como um Javascript do cliente. Em seguida, encaminhe os resultados de volta para o servidor de cada cliente. Os resultados parecerão originar-se de muitos lugares e nenhum excederá seu limite de taxa.

Marcação mal formada

Algumas marcações podem ser difíceis de validar. Nesses casos, procure no analisador HTML as configurações de tolerância a erros. Como alternativa, trate todo o documento HTML como uma sequência longa e faça a divisão.

Embora você possa rastrear todos os tipos de dados na rede, alguns sites empregam software para interromper a raspagem e outros proíbem a remoção da Web . Esses sites podem processá-lo e até prendê-lo por coletar seus dados. Portanto, seja inteligente em todas as suas raspagens na Web e faça-o com segurança.

send email