Crea un Python Web Spider in 60 secondi o meno

Un Web spider è un approccio automatizzato per identificare i collegamenti e altre risorse ospitate su un sito Web di destinazione. Nel mondo di oggi, questo può essere utilizzato in qualsiasi cosa, dal data mining alla mappatura di una superficie di attacco durante le valutazioni di sicurezza offensive. Questo post dimostra come creare un web spider Python e aggiungere ulteriori personalizzazioni per soddisfare i propri requisiti di programmazione.

Foto di Christopher Gower su Unsplash

Web Spider vs Web Scraper

Prima di immergerti, definiamo la differenza tra un ragnatela e un raschietto. Questi sono due termini comuni facilmente confusi online:

  • Uno Spider , noto anche come crawler, è un programma simile a un bot che indicizza sistematicamente le pagine di un sito. Questo può essere pensato come uno strumento di inventario che registra tutte le risorse disponibili. Viene spesso utilizzato dai motori di ricerca per catalogare i risultati, come Googlebot .
  • Uno Scraper, d'altra parte, può utilizzare tecniche simili ma elaborerà effettivamente i dati nelle pagine risultanti. Cercherà informazioni specifiche da estrarre e utilizzare in vari modi. I dati trovati dagli scraper possono essere utilizzati per: popolare i database, monitorare l'attività, raccogliere informazioni sensibili e altro ancora.

Per creare il nostro spider, avrai bisogno di Python 3.6+ e di una libreria chiamata Taser . Questo servirà per gettare le basi del nostro spider e potrà essere installato direttamente da PyPi con il seguente comando:

pip3 install taser

Creazione del ragno

Il protocollo HTTP di Taser ha una classe Spider incorporata che può essere richiamata direttamente dall'interprete Python. Nessuna codifica necessaria. Basta inserire una shell Python, importare la classe Spider, inizializzarla con il sito di destinazione e il gioco è fatto. In pochi secondi hai un elenco categorizzato di URL!

Per impostazione predefinita, lo spider utilizzerà tecniche come la randomizzazione user-agent per aiutare a prevenire le richieste CAPTCHA. Questo può essere ulteriormente migliorato con il supporto proxy rotante integrato, intestazioni personalizzate e altre variabili. Queste impostazioni possono essere modificate durante l'inizializzazione o modificando direttamente le variabili di classe.

Personalizzare il ragno

È fantastico, ma come puoi utilizzarlo nella tua programmazione?

Usando l'ereditarietà, gli utenti possono modificare quasi ogni aspetto delle funzionalità dello spider per adattarlo meglio al loro caso d'uso. In questa sezione, ti mostrerò come regolare la funzione di stampa per lavorare con i sistemi operativi Windows.

Il metodo outputHandler della classe spider è responsabile di tutto l'output e utilizza la funzione printx di Taser per visualizzare i risultati a colori. Sfortunatamente, questa caratteristica è solo per gli utenti Unix attraverso l'uso di caratteri di escape ANSI. Se eseguito su un host Windows, questo metodo genera risultati illeggibili.

Tramite l'ereditarietà, tuttavia, possiamo modificare il metodo della classe per utilizzare l'adattatore di registrazione personalizzato di Taser. Il vantaggio di questo approccio è il rilevamento automatico del sistema operativo. Gli utenti Unix possono continuare a vedere risultati colorati pur supportando l'output di Windows. Queste modifiche sono dimostrate nella classe MySpider personalizzata di seguito:

Come puoi vedere, eseguendo il nostro nuovo script spider su entrambi i sistemi operativi otteniamo risultati chiari e leggibili:

Conclusione

Sebbene l'uso di spider e scrapers non sia illegale, spesso violano i termini di servizio di un sito. Si consiglia di utilizzare le informazioni fornite solo per i sistemi di cui si è proprietari o che si dispone dell'autorizzazione esplicita per il test.

Grazie per aver letto! Spero che tu abbia trovato utile l'articolo e che tu possa incorporare queste tecniche nei tuoi strumenti. Sentiti libero di metterti in contatto con Twitter e assicurati di seguire per altri fantastici contenuti!

Suggested posts

Ricerca di informazioni sui nomi di dominio

Un estratto da Small, Sharp Software Tools di Brian P. Hogan

Ricerca di informazioni sui nomi di dominio

Quando fai una richiesta a facebook.com, il tuo computer cerca il nome di dominio per tradurre quel nome di dominio in un indirizzo IP in modo che il tuo computer possa effettuare quella connessione.

Raccolta di OSINT per la caccia alle minacce

Raccolta di OSINT per la caccia alle minacce

Ehi, cibernetici! Bentornati alla serie OSINT per la caccia alle minacce. Nel primo articolo, ti ho fornito una panoramica di OSINT e della sua importanza nella caccia alle minacce.

Related posts

Quell'archivio di minaccia: Vol 7 Black Basta

Quell'archivio di minaccia: Vol 7 Black Basta

Nel mondo interconnesso di oggi, la minaccia degli attacchi informatici è più diffusa che mai. I criminali informatici e gli attori dello stato-nazione cercano costantemente di sfruttare le vulnerabilità e rubare dati preziosi, ponendo un rischio significativo per le organizzazioni di tutte le dimensioni.

L'arte è sempre apolitica?

L'arte è sempre apolitica?

Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.

Cosa puoi fare nella tua stagione di attesa (in attesa di ottenere il tuo primo lavoro nella tecnologia)

Cosa puoi fare nella tua stagione di attesa (in attesa di ottenere il tuo primo lavoro nella tecnologia)

Il passaggio a una nuova carriera può essere estremamente impegnativo se provi a farlo da solo. È importante trovare partner responsabili che abbiano il tuo stesso livello di apprendimento, che condividano obiettivi, tenacia e determinazione simili.

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

La lenta erosione: svelare i modi in cui le persone deperiscono nella loro carriera

Nel mondo frenetico e competitivo di oggi, la propria carriera gioca un ruolo significativo nella crescita personale, nella stabilità finanziaria e nella soddisfazione generale della vita. Tuttavia, molte persone si trovano intrappolate in un ciclo inesorabile di stagnazione e insoddisfazione, che si esauriscono gradualmente nella loro vita professionale.