Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Python: 3 soluzioni per implementare scraping tool

Python: 3 soluzioni per implementare scraping tool
Link copiato negli appunti

Uno principali problemi di un programmatore è riuscire a reperire dati e concetti in modo chiaro e semplice. Spessissimo i dati e le informazioni di cui si necessità sono nascosti all'interno di un sito web male organizzato così come dietro API e librerie mal documentate, dunque un processo di scrapers/crawlers è necessario ogni volta che ci si deve addentrare in un nuovo ambito della programmazione.

Oggi vogliamo presentarvi 3 tool in Python che possono tornarci utili proprio durante questi processi. La community Python è infatti molto attiva a riguardo e offre spesso soluzioni ai problemi più comuni.

Pyspider

Partiamo da Pyspider, si tratta di un web-crawler, dunque completamente multipiattaforma, capace di tenere traccia di più crawls e con multipli database in backend. Dispone di una potente WebUI che mette a disposizione uno script editor, un task monitor, un project manager e un result viewer. Viene distribuito sotto licenza Apache 2.0 e ha una buona community attiva sul suo repository Github nonché un'ottima documentazione.

MechanicalSoup

Passiamo a MechanicalSoup. È una crawling library costruita su una libreria per il parsing HTML molto versatile chiamata Beautiful Soup. Si tratta del tool giusto se avete necessità di ricerca semplici magari con pochi campi di ricerca da impostare. MechanicalSoup può registrare ed inviare cookies in modo automatico, può seguire i redirect e riesce anche a tenere traccia dei parametri inviati tramite form.

Il progetto, distribuito sotto licenza MIT, è anch'esso presente su Github.

Scrapy

Chiudiamo con Scrapy. Questo progetto è un framework supportato da una community molto attiva. Con Scrapy è possibile realizzare il proprio scraping tool tramite le varie librerie presenti. Una volta raggiunto il nostro obbiettivo sarà anche possibile esportare i risultati in comodi file JSON o CSV ed immagazzinare i dati nel backend che si preferisce.

Sono disponibili anche diverse estensioni built-in per implementare operazioni come il cookie handling, l'user-agent spoofing e il restricting crawl depth. L'intero codice sorgente del progetto è disponibile, sotto licenza BSD, sempre sulla nota piattaforma di code sharing Github.

Ti consigliamo anche