[Cascavel-pm] webcrawler usando Socket

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Terça Outubro 18 11:51:27 PDT 2005


--- Nilson Santos Figueiredo Junior <acid06 em gmail.com>
escreveu:

> Na verdade eu acho que você não leu direito o link
> que colocou.
> Ou então eu não estou entendendo o seu problema.

Você não entendeu meu problema direito.
Estou pensando em fazer um redirecionador para o
Viralator (http://viralator.sourceforge.net).
Hoje ele funcione com qualquer redirecionar que use
REGEX... a REGEX é aplicada na URL fornecidade pelo
Squid.

Fazer o Viralator trabalhar assim não é seguro: REGEX
falham e alguns casos downloads são proibidos. O
melhor seria trabalhar com o MIME TYPE no cabeçalho de
resposta do servidor web requisitado pelo Squid. O
Squid não fornece NADA além da URL requisitada pelo
usuário. Não há como criar filtros no Squid para
respostas recebidas baseadas em MIME TYPE também.

Como o redirecionador só recebe uma URL, daí minha
idéia de fazer checar isso. Eu sei que tem um
protocolo chamado ICAP que TALVEZ ajude nisso... mas
me pareceu confuso e as referências sobre o assunto
são poucas.

> Os redirectors no Squid são processos que são [longa
explicação]

Isso nós dois entendemos direito. :-)

> Os redirectors recebem os endereços na STDIN e devem
> reescrever os
> endereços na STDOUT, redirecionados ou não.

Isso!

> Talvez você esteja fazendo um redirector escrito em
> Perl que pega o
> conteúdo do site antes para verificar o que fazer
> (bloquear ou não,
> talvez) mas aí o correto seria você ter redirectors
> "dummy" que
> simplesmente se comunicaria (por sockets ou outra
> forma de IPC) com um
> daemon que cuidaria de fazer a busca propriamente
> dita. Em outras
> palavras, só mudou de lugar aonde aquilo deveria ser
> feito.

Eu gostei da sua idéia. Esse "servidor Perl" poderia
até ser "gordo" e usar LWP sem problemas... só teria
que gerenciar as requisições dos redirecionadores
dummy usando fork() ou então threads.

Quanto aos redirecionadores, trabalhar usando IPC
seria mais interessante ainda (quanto mais simples o
redirector usado pelo Squid, melhor). Só não sei bem
qual recurso de IPC usar nesse caso... pipe? Memória
compartilhada?

> Para você ver como isso é inviável, só o
> interpretador sem fazer nada
> consome algo entre 2MB e 3MB de memória. Pra 1000
> usuários simultâneos
> você teria um consumo  2GB a 3GB de memória pra um
> "Hello World". ;-)

Era nisso que eu queria chegar. Finalmente chegamos
num acordo.

Eu gostaria de escutar sugestões dos monges. Estive
pensando até em usar HTTP::Proxy, mas existem
problemas relacionados a transparência do servidor
Perl quando usuários precisam se autenticar no Squid.

[]'s


Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1


	



	
		
_______________________________________________________ 
Promoção Yahoo! Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais de 500 prêmios! Participe! http://yahoo.fbiz.com.br/


Mais detalhes sobre a lista de discussão Cascavel-pm