Eu costumo usar o yada http://search.cpan.org/~syp/AnyEvent-Net-Curl-Queued-0.047/bin/yada
On May 24, 2017 12:55 AM, "breno" <[email protected]> wrote: > Oi Aureliano, > > se você está interessado em benchmarks, pode experimentar o LWP::Curl em > vez do Furl, ou se tiver paciência pra ir direto ao metal, Net::Curl ou > WWW::Curl. > > O que quer dizer com "truncado"? Se a conexão cai depois de X bytes > baixados (e se vc consegue garantir que o arquivo parcial contém apenas > dados válidos), vc pode baixar só o que falta e depois juntar os dois > pedaços na mão. Por exemplo, se o arquivo parcial foi baixado em > "parcial.tmp": > > ---------8<--------- > my $ua = Furl->new; > my $res = $ua->get( 'http://exemplo.com/arquivo.tmp', Range => 'byes=' . > -s 'parcial.tmp' . '-'); > open my $ fh, '>>', 'parcial.tmp; > print $fh, $res->content; > close $fh; > ---------8<--------- > > (código não testado, estou no celular) > > Se o servidor suporta conteúdo parcial (ele responde o primeiro request > com Accept-Ranges), isso deve baixar o resto do arquivo. Idealmente, em vez > de sobrescever o arquivo parcial, vc junta o conteúdo dos dois em um > terceiro arquivo. > > Finalmente, se quiser baixar vários pedaços do arquivo em paralelo, pode > experimentar o HTTP::Range e o LWP::Parallel::UserAgent, ou se inspirar > neles e implementar sua própria solução paralela com Furl ou LWP::Curl. > > []s > -b > > On 23:26, Tue, 23 May 2017 Aureliano Guedes, <[email protected]> > wrote: > >> Ola Monges, >> >> >> Gostaria de saber qual metodo vocês mais gostam para fazer downloads em >> massa. >> >> >> Eu usava muito LWP, recentemente comecei usar uma combinação de >> Parallel::ForkManager e Furl, mas pra meu tipo de dado tem truncado parte >> dos download. (vale uma dica pra lidar com dados truncados?) >> >> No meu caso, eu to fazendo download de mais me milhoes de sequencias, pra >> isso eu sigo a regra do servidor e peço apenas 500 por vez e limito em 10 >> fork. >> >> Tem outros metodos que posso usar mas acabo perdendo e muito a >> eficiência. Por isso pretendo testar um benchmark em varias formas >> diferentes. >> >> Bom, sei que existem ferramentas, BioPerl, etc... >> >> Abraços, >> acpguedes >> _______________________________________________ >> Rio-pm mailing list >> [email protected] >> http://mail.pm.org/mailman/listinfo/rio-pm > > > _______________________________________________ > Rio-pm mailing list > [email protected] > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list [email protected] http://mail.pm.org/mailman/listinfo/rio-pm
