Pergunta

No mês passado, tenho usado o Scrapy para um projeto de rastreamento da web que iniciei.

Este projeto envolve reduzir o conteúdo completo do documento de todas as páginas da Web em um único nome de domínio que é acessível na página inicial. Escrever isso usando o SCRAPY foi bastante fácil, mas simplesmente corre muito devagar. Em 2-3 dias, só posso puxar 100.000 páginas.

Percebi que minha noção inicial de que a navegação não é para esse tipo de rastreamento está se revelando.

Comecei a concentrar minha visão de Nutch e Methabot na esperança de melhor desempenho. Os únicos dados que eu preciso armazenar durante o rastreamento são o conteúdo completo da página da web e, de preferência, todos os links da página (mas mesmo isso pode ser feito no pós-processamento).

Estou procurando um rastreador que seja rápido e emprega muitas solicitações paralelas.

Foi útil?

Solução

Esta é a minha culpa do servidor, não de scrapy. O servidor pode não ser tão rápido quanto você quiser ou pode ser (ou webmaster) detecta rastejamento e velocidade limite para essa conexão/cookie. Você usa proxy? Isso também pode desacelerar rastejando. Isso pode ser uma sabedoria de scrapy, se você rastejar muito intensivo, poderá proibir esse servidor. Para o meu C ++ Rastreador manuscrito Eu defino artificialmente 1 solicitação por segundo limite. Mas essa velocidade é suficiente para 1 thread (1 req * 60 segundos * 60 minutos * 24 horas = 86400 req / dia). Se você estiver interessado, pode escrever email para whalebot.helmsman {at} gmail.com.

Outras dicas

O SCRAPY permite determinar o número de solicitações simultâneas e o atraso entre as solicitações em suas configurações.

Você sabe onde está o gargalo? Como apontou o WhaleBot.Helmsman, o limite pode não estar no próprio scrapy, mas no servidor você está rastejando.

Você deve começar descobrindo se o gargalo é a rede ou CPU.

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