C'è un limite alla frequenza con cui dovrei accedere a un sito web programmaticamente per evitare DDOS? [chiuso]

0

Ho il mio sito web che mostra alcuni dati che ottengo da webscraping. Eseguo lo script webscraping sul mio server host del mio sito web. Ho appena realizzato che forse sto accedendo ad altri siti web troppo velocemente attraverso questo script. Ad esempio, ho appena scritto uno script che accede a 15 siti Web sullo stesso dominio in circa un secondo. Il mio server del sito Web si è bloccato poco dopo. Il mio webhost stava avendo qualche altro problema quindi non so se questi due eventi siano collegati o meno.

Ma immagino abbia sollevato un'altra domanda. Devo limitare la velocità con cui accedo ai siti Web per evitare un avviso di tipo Denial of Service (DOS) dal sito Web che accedo o dal mio host del server web? C'è una sorta di tasso sicuro di siti web al secondo o al minuto che dovrei seguire? Mi stavo solo chiedendo,

EDIT: Per chiarire, sì, potrei rallentare il processo di raccolta, ma in realtà sto raschiando un sacco di piccole informazioni da siti diversi, quindi l'accesso a molti siti Web potrebbe essere inevitabile. Inoltre, in base a ciò che sto facendo, ottenere le informazioni il più rapidamente possibile sarebbe utile. Quindi posso rallentare il processo, ma immagino di cercare quanto posso "spingere" il limite per ottenere le informazioni nel momento ottimale.

    
posta bluemoon12 10.12.2015 - 17:36
fonte

2 risposte

1

Non ci sono limiti ben definiti, ma esaminando il log di accesso del mio link sito (che è abbastanza specializzato e ha solo circa un migliaio di colpi al giorno, compresi i robot), vedo che i robot ben educati:

  • stanno interrogando il robots.txt file e dopo di esso

  • stanno rendendo le richieste intervallate di pochi secondi (in genere 5) almeno

Consiglierei al tuo programma di comportarsi allo stesso modo. Non interrogare lo stesso sito Web più di una volta ogni pochi secondi (in modo simile a quello che gli utenti stanno navigando). Naturalmente il tuo webscraper può fare richieste a altri siti prima di quello.

Se stai interrogando (programmaticamente) un determinato sito Web molto spesso (ad esempio più di una volta al secondo), ti suggerirei almeno di provare a contattare (via email) il suo webmaster umano. Alcuni webmaster stanno bloccando le richieste degli host che li interrogano troppo spesso.

Ricorda che alcuni siti web (come le miniere) sono pagati da individui, e il loro contratto di hosting potrebbe porre dei limiti (in genere sulla larghezza di banda o sul volume di dati mensile). Quindi dovresti essere gentile con loro.

    
risposta data 10.12.2015 - 21:07
fonte
1

Yes you do, no there isn't. Be nice. --MichaelT

Come @MichaelT dice che non esiste una regola impostata, ma quanto spesso cambiano le informazioni sui siti stranieri che si graffiano? Puoi memorizzare in cache i risultati localmente sul tuo server (o su alcuni DB) e solo aggiornare / rescrape ogni minuto, ora, giorno ecc.

Ad esempio, gli orari di programmazione dei film cambiano lentamente, ricontrollarli solo ogni ora. Una partita di pallacanestro cambia spesso, è necessario controllare ogni pochi secondi.

    
risposta data 10.12.2015 - 17:55
fonte

Leggi altre domande sui tag