In che modo Google protegge dallo scraping?

4

Sto cercando di implementare la sicurezza contro gli scraping sul mio sito web per evitare tecniche di scraping di base.

Google sembra avere una protezione molto buona contro lo scraping, ma è così bello che non riesco a capire il suo meccanismo.

Stavo cercando di fare una richiesta http GET come "utente normale" utilizzando le normali intestazioni del browser e i parametri di query.

Funzionava tutto bene prima di un certo numero di richieste, poi veniva visualizzata la pagina 503 di errore che mi informava che era stato rilevato traffico insolito, conteneva anche il mio indirizzo ip esterno.

La cosa strana è che dal mio normale browser Chrome non c'erano assolutamente errori quando facevo richiesta a quel determinato URL, ma con le mie richieste http personalizzate continuavano a visualizzare lo stato 503.

Ero quasi certo che il server proxy potesse ignorare tale protezione, ma mi sbagliavo: anche se il sito web mostrava un indirizzo IP diverso, continuavo a ricevere errore 503 dello stato.

Richiedi informazioni

Main
----
Method: GET
URL: https://www.google.com/search

Data (Query parameers)
----------------------
q: "this+is+example"
ie: utf-8
oe: utf-8
start: 0

Headers
-------
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36'

Le informazioni inviate dal mio browser sono state generate da Chrome: ho effettuato l'accesso, pertanto i cookie di sessione sono stati inviati anche nelle intestazioni.

Se non si limitano la limitazione della velocità IP e la limitazione della frequenza dei cookie, come potrebbe Google identificare questo bot di scraping? C'è qualche altro metodo che possa offrire tale protezione?

    
posta ShellRox 13.08.2018 - 14:43
fonte

2 risposte

6

Un modo "ovvio" che mi viene in mente (ma non ho idea se Google lo faccia) è alla ricerca di richieste correlate che un browser genererebbe dopo aver recuperato la pagina principale.

  • Un browser recupera l'URL principale e quindi (per una pagina tipica) richiede diversi elementi aggiuntivi: file JavaScript, immagini, file CSS ecc.

  • A seconda di come si esegue lo scripting dell'over (ad esempio si parla solo di "effettuare una richiesta GET HTTP") se vede richieste ripetute per "pagine principali", ma nessuna richiesta intercalata per .js / .css / .jpg file, quindi potrebbe presumere che tu sia uno script.

risposta data 13.08.2018 - 16:33
fonte
1

Se dovessi tentare di comprometterlo in modo significativo, ti verrà chiesto un captcha. Questo è stato davvero fastidioso per le due settimane in cui ero limitato al browser web w3m. Pensavano che fossi un bot.

Una chiamata o due andranno bene, ma se dovessi provare un importo serio, la richiesta di captcha aumenterà. L'ho colpito di volta in volta a mano.

Non controllano solo i singoli indirizzi IP, ma gli intervalli di rete di Classe C. A volte ci arriviamo al college. Anche molti troppo veloci della stessa classe C possono aumentare. Penso che questo controllo sia eliminato dai client correttamente loggati, ma noteranno se lo stesso utente loggato è troppo attivo.

In realtà hanno una profonda analisi di caratterizzazione che può identificare gli utenti senza essere loggati, cosa che non hai speranza di replicare. Google ha affermato una volta (che non riesco a trovare ora) che aveva la possibilità di smascherare la navigazione privata ma ha scelto di non farlo.

    
risposta data 13.08.2018 - 20:22
fonte

Leggi altre domande sui tag