[Rio-pm] Metodos de Download em Massa

Renato Santos renato.cron em gmail.com
Qua Maio 24 03:46:23 PDT 2017


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" <oainikusama em gmail.com> 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, <guedes_1000 em hotmail.com>
> 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
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20170524/0c931ee7/attachment-0001.html>


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