Fazer scraping dos resultados de busca do Yahoo
O Yahoo Search Scraper recebe uma consulta e devolve a página de resultados como linhas: query, position, title, url e description, uma linha por resultado. Cinco execuções e 360 linhas estão por trás desta página, e cada uma dessas cinco colunas estava preenchida em cada uma dessas linhas - nenhuma célula vazia em lugar nenhum da exportação. position volta como um número contínuo a partir de 1, então ordena diretamente, e uma lacuna nos seus dados significa que uma linha se perdeu depois, não durante a coleta.
Duas propriedades dos dados importam mais que o esquema. A primeira é a duplicação: dentro de uma única execução a coluna url se repete, 20 vezes numa exportação de 74 linhas e 4, 9, 11 e 16 vezes nas outras. São linhas genuínas em posições genuínas, então qualquer contagem de hosts, domínios ou participação de resultados precisa deduplicar primeiro. A segunda é a volatilidade. Rodamos a consulta python web scraping em dois dias seguidos: 66 URLs distintas no primeiro dia, 62 no segundo, e só 42 apareceram em ambas. Dessas 42 sobreviventes, 22 tinham mudado de posição, e até o top dez compartilhava nove de dez URLs em outra ordem. Uma exportação isolada é o instantâneo de um momento, e um programa de acompanhamento de posição baseado numa leitura por trimestre vai relatar ruído como se fosse movimento.
As contagens de linhas também não são fixas - nossas cinco execuções devolveram 74, 70, 73, 69 e 74 linhas, com uma consulta cada. Os trechos foram de 6 a 417 caracteres, com mediana de 194, e 79 dos 360 terminaram em reticências onde o Yahoo cortou, então a coluna description pede um tipo de texto amplo e não um varchar curto. Os títulos costumam ser o título da página, mas em 9 das 360 linhas começavam com um domínio exibido separado por espaços, como www. python .org › downloads; casar por url evita isso por completo. Nas 360 linhas havia 168 hosts distintos, 358 links https e 2 http.
Os usos comuns decorrem desse formato. Acompanhamento de posição funciona se você rodar uma série em vez de uma exportação única. Visibilidade competitiva é um agrupamento por host. Auditar cobertura significa passar a mesma lista de consultas por este serviço e pelo Google Search Scraper e comparar os conjuntos de URLs, porque onde dois buscadores discordam costuma haver algo interessante. E uma página de resultados para uma consulta de categoria mais cidade vira uma lista de leads assim que a coluna url passa pelo Email & Contact Scraper. No aspecto jurídico, uma posição, um link e um trecho são fatos sobre páginas web públicas e nenhuma das cinco colunas descreve uma pessoa - embora os trechos sejam o texto protegido dos sites indexados, o que torna a análise interna comum e a republicação uma questão à parte. Apenas páginas publicamente acessíveis, sem rastreadores de terceiros na camada de dados, e as exportações são apagadas automaticamente após 30 dias. Suas primeiras 500 linhas são grátis e não precisam de cartão.