Pergunta

Eu estou escrevendo um rastreador em Perl, que tem a conteúdos de extrato de páginas da web que reside no mesmo servidor. Atualmente, estou usando o módulo HTML :: Extract para fazer o trabalho, mas eu achei o módulo um pouco lento, então eu olhei para seu código fonte e descobri que não usa qualquer cache de conexão para LWP :: UserAgent .

Meu último recurso é o código-fonte da garra do HTML::Extract e modificá-lo para usar um cache, mas eu realmente quero evitar que se eu puder. Alguém sabe de qualquer outro módulo que pode realizar o mesmo trabalho melhor? Basicamente, eu só preciso pegar todo o texto no elemento <body> com as tags HTML removidas.

Outras dicas

características do HTML::Extract olhar muito básico e desinteressante. Se os módulos que draegfun mencionado não lhe interessam, você pode fazer tudo o que HTML::Extract faz usando LWP::UserAgent e HTML::TreeBuilder mesmo, sem exigir muito código em tudo, e então você estaria livre para trabalhar em cache em seus próprios termos.

Eu tenho usado Web :: Scraper para minhas necessidades raspagem. É realmente muito bonito para a extração de dados e porque você pode chamar ->scrape($html, $originating_uri) então é muito fácil de armazenar em cache o resultado que você precisa também.

Você precisa fazer isso em tempo real? Como é que a ineficiência afeta você? Você está fazendo a tarefa em série de modo que você tem que extrair uma página antes de passar para a próxima? Por que você quer evitar um cache?

Pode o rastreador de download das páginas e passá-las para outra coisa? Talvez o rastreador pode até mesmo correr em paralelo, ou de alguma forma distribuída.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top