
Meu entendimento: quando um navegador da Web faz uma solicitação para visualizar uma página, o servidor responde com o HTML. Em seguida, o navegador da Web renderiza esse código HTML e envia solicitações para cada objeto incorporado (como imagens) que vê no HTML para o servidor em menos de um segundo (mais ou menos). No entanto, usando um Web Scrapper, faço uma solicitação ao servidor, capturando apenas o HTML e não renderizando o HTML.
A etiqueta adequada para Web Scrapping diz que você deve limitar suas solicitações a uma por segundo, no máximo, para não sobrecarregar o servidor.
Então, por que não é um problema quando o navegador da Web envia uma solicitação para cada objeto incorporado (várias solicitações em um segundo), mas cabe a um Web Scrapper enviar várias solicitações por segundo, apenas para a fonte HTML de páginas diferentes?
Responder1
Os motivos pelos quais os web scrapers (não scrappers) usam um atraso são:
- esconder que estão raspando a web e ser banidos dos sites que estão tentando raspar (usando pequenos atrasos entre as páginas, eles se parecem mais com um navegador operado por um ser humano, que está navegando na rede)
- por cortesia para com o proprietário do site (solicitar muitos dados em um período muito curto de tempo pode sobrecarregar o servidor e fazer com que o site pareça não responder para outros usuários do site)
Quando seu navegador (ou web scraper) solicita uma página, ele não precisa esperar um segundo inteiro entre a solicitação de objetos na mesma página. Ele pode solicitá-los imediatamente - isso resulta em uma melhor experiência do usuário (carregamento de página mais rápido).
O que um usuário 'normal' não fará é solicitar páginas diferentes em um período muito curto de tempo. Um usuário irá olhar uma página, clicar em um link para ir para a próxima página, etc.
Portanto, quando um usuário estiver navegando em um site, haverá um atraso entre a solicitação de diferentes páginas do mesmo site. É muito provável que este seja o atraso de 1 segundo que você mencionou na sua pergunta.
Obviamente, para raspar um site rapidamente, os web scrapers vão querer usar o menor atraso possível. Eles usarão diferentes maneiras de acelerar o processo (por exemplo, raspar vários sites em paralelo; fazer parecer que as solicitações são de vários usuários diferentes).
Para web scrapers, sempre haverá um equilíbrio entre os motivos do atraso e a necessidade de realizar o trabalho.
Para mais informações, consulte a entrada emWikipédia