Come evitare di essere raschiato?


8

Disponiamo di un database di ricerca (DB), limitiamo i risultati a 15 per pagina e solo 100 risultati, ma le persone continuano a cercare di raschiare il sito.

Stiamo vietando i siti che lo colpiscono abbastanza velocemente. Mi chiedevo se c'è qualcos'altro che possiamo fare. Flash rende forse i risultati?


Assicurati di avere un robots.txt ... sì, lo so non tutti lo onorano .. ma alcuni lo fanno ancora
Trento,

Risposte:


6

Potresti renderlo un po 'più difficile recuperando i record tramite AJAX e usando un ID di autenticazione (come una chiave API) per le chiamate AJAX.

Ovviamente puoi aggirare questo problema leggendo l'ID e quindi facendo la richiesta AJAX usando quello.

Il rendering con Flash è un'alternativa come fai notare (anche se non è ancora scaricabile al 100%), come il rendering in PDF.


13

Dal momento che c'è ovviamente una richiesta per il tuo database, hai pensato di girarlo e fornire ciò che vogliono i raschiatori? Creare una relazione commerciale con i raschiatori e incoraggiare un uso appropriato con un'API?


1
Sì, adoro le API
Isaac Waller,

+1 Puoi persino addebitare una piccola tassa per l'utilizzo dell'API e fare qualche buch dai raschiatori trasformati in clienti
Sander Marechal,

Sì, impostiamo un timer e bandiamo se le pagine sono state colpite troppo velocemente, per quanto la vendita delle informazioni sembri improbabile, in passato hanno usato le informazioni per metterle su un altro sito e ottenere entrate per clic.
Randin,


4

Non esiste una soluzione tecnologica per impedire a un individuo motivato di eliminare i tuoi contenuti accessibili al pubblico.

Puoi, tuttavia, proteggere legalmente la tua proprietà intellettuale:

  • Garantire che il tuo sito abbia un copyright chiaramente contrassegnato
  • Pubblicare un Termini di servizio nel piè di pagina che proibisce chiaramente la raschiatura
  • Prendi in considerazione l'idea di incorporare una filigrana digitale in tutti i contenuti del tuo sito. Non dimenticare che anche il testo può essere filigranato!

2

Che ne dici di impostare l'autenticazione (e forse il captcha), il monitoraggio dell'utilizzo e la limitazione dell'accesso a un numero di record o ricerche in un determinato periodo di tempo?


1

Probabilmente scoprirai che i raschiatori miglioreranno la loro presenza mentre applichi diverse tecniche. Forse c'è un modo per analizzare il comportamento degli utenti che raschiano e presentano un captcha o altre interruzioni? Forse potresti limitare i risultati a un numero inferiore per un periodo di tempo per costringere i raschiatori ad aspettare 10 giorni. Se non accedono tra di loro, supponete che siano scanner?

Qualunque cosa tu faccia, assicurati di mescolare le tue tecniche per dare loro un po 'più di longevità.


1

Devi considerare che gli scraper potrebbero non utilizzare le tue pagine web e i tuoi moduli, potrebbero semplicemente chiamare il tuo sito a livello http.

Penso che la soluzione migliore sarebbe quella di lanciare un catchpa dopo che un indirizzo IP richiede più di una certa soglia di richiesta.

Devi essere MOLTO attento però per assicurarti di non influire sulla scalabilità della tua applicazione per utenti reali.

Limitare la quantità di dati per pagina come descritto nella domanda aumenterà solo il numero di richieste che i client faranno sul tuo server.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.