sábado, 16 de junho de 2012

Web crawler: "Te encontrei..."

Os Web crawlers (ou simplesmente crawlers) têm um papel importante na nossa vida hoje. Como exemplos clássicos de Web crawlers, podemos citar o Google Bot, o Yahoo! Slurp e o MsnBot. Sem esses crawlers, não teríamos a busca do Google, do Yahoo! ou do Bing. [ Caso você tenha um site  e queira que ele seja encontrado você precisa saber que negócio é esse]


A Web constitui a maior e mais variada base de dados do mundo, onde as informações, distribuídas em sítios, abrangem uma ampla gama de assuntos. Os textos estão armazenados em hiperdocumentos e hiperligações, de forma semi-estruturada ou não-estruturada, e não possuem um contexto único, ou seja, assuntos diferentes e hiperligações para contextos diferentes podem ser encontrados em um mesmo hiperdocumento. Para facilitar a busca por uma determinada informação, faz-se necessário que os dados da Web sejam primeiramente encontrados, filtrados e categorizados. Essas tarefas podem ser executadas manualmente, mas o custo seria elevado, a eficiência baixa, e a eficácia seria questionável, visto que é humanamente impossível garantir o escrutínio de uma parte significativa da Web em busca de determinada informação. Os processos que localizam, obtêm e indexam automaticamente hiperdocumentos na Web são chamados crawlers, robots ou spiders [ Me explica melhor hiperdocumentos my god]





  1. Fila: pode conter uma ou mais URLs. Dependendo do tamanho da fila, a mesma pode estar no disco, ao invés de somente na memória.
  1. Downloader: geralmente costuma-se colocar um downloader multithreaded.
  1. Parser: esse é o mais interessante. Ele vai extrair informações da página baixada pelo downloader segundo as especificações passadas pra ele. É pra ele que você irá dizer que quer extrair todas as imagens de uma determinada página.
  1. Storage: pode ser qualquer tipo de armazenamento em qualquer tipo de mídia. 

O processo que um Web crawler executa é chamado de Web crawling ou spidering. Muitos sites, em particular os motores de busca, usam crawlers para manter uma base de dados atualizada. Os Web crawlers são principalmente utilizados para criar uma cópia de todas as páginas visitadas para um pós-processamento por um motor de busca que irá indexar as páginas baixadas para prover buscas mais rápidas. Crawlers também podem ser usados para tarefas de manutenção automatizadas em um Web site, como checar os links ou validar o código HTML. Os crawlers também podem ser usados para obter tipos específicos de informação das páginas da Web, como minerar endereços de email (mais comumente para spam).
Um Web crawler é um tipo de robô de Internet ou agente de software. Em geral, ele começa com uma lista de URLs para visitar (também chamado de seeds). À medida que o crawler visita essas URLs, ele identifica todos os links na página e os adiciona na lista de URLs para visitar. Tais URLs são visitadas recursivamente de acordo com um conjunto de regras.


Deu para entender um pouquinho o que é Web Crawler... então divirta-se  e veja os seguintes tutoriais..
Web Crawler Pyton
Web Crawler Linux
Web Spider Linux