[SP-pm] Web Crawler com proxy lento

Marcio Ferreira marciodesouzaferreira at gmail.com
Thu Jan 30 18:15:39 PST 2014


Lucas, você já tentou randomizar seu UserAgent a cada request? (ou mesmo
qualquer parametro que altere seu fingerprint?)

Usar um pool de servidores necessita um trabalho mais orquestrado(com uso
de filas, talvez *semaphore*), talvez pequenas alterações no código já
resolva seu problema.

Recomendo fortemente o YADA.  Stan++

Umas configurações simples podem te ajudar:

my %conf = (
  http_response => 1,
  max => 25,
  common_opts => {
    FOLLOWLOCATION => 1,
    TIMEOUT => 20,
#    VERBOSE => 1,
    SSL_VERIFYHOST => 0,
    SSL_VERIFYPEER => 0,
    PROXY => 'localhost:9050',
    PROXYTYPE => Net::Curl::Easy::CURLPROXY_SOCKS4,
    USERAGENT => WWW::UserAgent::Random::rand_ua("browsers")
});

YADA->new( %conf );

Essa configuração faz requisições via TOR(já mencionado pelo Stan) e ainda
altera randomicamente seu UserAgent.

Outra recomendação também é você alterar os UAs do WWW::UserAgent::Random,
o módulo não é atualizado a muito tempo(então só possui browsers antigos) o
que torna simples esse hack.

Abs!



Em 30 de janeiro de 2014 13:40, Leonardo Ruoso <leonardo at ruoso.com>escreveu:

> LVS é seu amigo!
>
> Se o IP é de um pool de servidores, então é só colocar para sair
> alternadamente por todos os IPs.
>
> Se o IP é de dialup, aí é mais complicado, você precisaria de uma VM em
> qualquer lugar, Amazon, Linode, etc e faz a mesma coisa, roteamento com
> LVS, mas usando NAT no LVS e configurando o LVS para fazer rotação de IP.
>
> Provavelmente a performance vai ficar muito maior que com o tor, com a
> desvantagem de que se você não consegue justificar um pool de IP para você
> o provedor lhe fornece cada IP por um pequeno custo mensal.
>
>
>
>
>
> Em 30 de janeiro de 2014 08:20, Solli Honorio <shonorio at gmail.com>escreveu:
>
> Lucas,
>>
>> Com relação a lentidão, estou assumindo que antes vc fazia o acesso ao
>> site na mesma localização (o teu script roda no Brasil para acessar o
>> servidor que está no Brasil também) e com o proxy passou ter acesso via
>> outra região (EUA por exemplo).
>>
>> Se for isto, só esta mudança vai fazer você altera a latência de uns 30
>> ms (no meu ambiente tenho latência de 3 ms) para qualquer coisa começando
>> com 300 ms. Ou seja, a simples troca de ponto de acesso faz com que o tempo
>> de viagem aumente em 10 vezes (no mínimo).
>>
>> Contra latência não muito o que fazer, mas recentemente tive um ganho
>> interessante nos meus scripts trocando o
>> LWP::UserAgent pelo WWW::Curl::UserAgent.
>>
>> O Stan tem razão, diante do fato, aparentemente o paralelismo parece ser
>> a melhor alternativa.
>>
>> Para aumentar o paralelismo, recomendo fortemente utilizar
>> o Parallel::ForkManager.
>>
>> Abraços,
>>
>> Solli Honorio
>>
>>
>>
>> Em 29 de janeiro de 2014 19:59, Lucas Moraes <
>> lucastiagodemoraes at gmail.com> escreveu:
>>
>>>  Boa noite pessoal, estou fazendo web crawler de um site, só que esse
>>> site bloqueou meu IP e fui forçado a usar proxy, mas estou tento problema
>>> de lentidão. Alguém tem alguma solução para deixar o proxy mais rápido?
>>> Falou.
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>>
>> --
>> "o animal satisfeito dorme". - Guimarães Rosa
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> Leonardo Ruoso
> Journalist, Perl developer and business consultant
> Media, UFC/2006; Telecom, IFCE/1998
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140131/839cad5e/attachment.html>


More information about the SaoPaulo-pm mailing list