TP1: Projeto e Implementacao de um Crawler Data de entrega: 20 de abril Penalizacao por atraso: 1 ponto ate 24 de abril e 1 ponto por dia apos 24 de abril. Um crawler industrial deve: 1- Coletar no minimo 1 milhao de URLs por dia, usando 1 servidor padrao. 2- Empregar politicas de "scheduling" de urls, de forma a coletar o melhor conteudo primeiro e garantir uma cobertura minima de cada site. (por exemplo, um coletor nao deve coletar 1 milhao de paginas de 1 unico site) 3- O coletor deve respeitar as seguintes regras de etiqueta: * Seguir o padrao robots.txt * Nunca realizar mais de 1requisicao a cada 30 segundos para um mesmo site 4- A velocidade de coleta deve ser manter aproximadamente constante até o limite minimo de 10 millhoes de urls (i.e., um coletor que coleta rapidamente no inicio mas a partir da url 5 milhoes se torna super lento nao eh aceitavel) Para a realizacao do projeto poderao ser utilizadas as bibliotecas standard do C/C++ (io, threads, sockets) e a biblioteca de acesso http libcurl (http://curl.haxx.se/). O uso de qualquer biblioteca nao padrao devera ser autorizado explicitamente pelos professores.