Come costruire un crawler di immagini: una guida completa
Pubblicato: 2023-01-10Raschiare le immagini dal Web è molto più difficile che raschiare il contenuto testuale. La ragione di ciò è il fatto che dovrai setacciare il contenuto delle pagine Web ed estrarre in modo specifico solo le immagini. Inoltre, è improbabile che avere immagini senza alcun contesto ti aiuti molto.
Per garantire che queste immagini siano codificate automaticamente, potrebbe essere necessario estrarre anche il contenuto testuale associato all'immagine o quello sopra o sotto l'immagine. Un altro punto è che i dati testuali possono essere aggregati, riscritti o scomposti per il riutilizzo. Le immagini, d'altra parte, potrebbero subire un riutilizzo limitato a causa di problemi di copyright. Queste sono solo alcune delle sfide che potresti dover affrontare durante lo scraping delle immagini. Ma prima di approfondire, esaminiamo il valore dello scraping delle immagini e quanto potrebbe essere importante nella società odierna basata sui dati che vive sul web.
Fig: Portale di ricerca inversa di immagini di Google
Lo scraping o la scansione delle immagini è esploso negli ultimi anni, con persino Google che offre un'opzione di ricerca di immagini inversa in cui mostra i risultati in base ai dati che ha scansionato. In modo da
garantire che le immagini siano associate al testo corretto, ha anche rilasciato alcune linee guida per sviluppatori e creatori di pagine web.
Fig: Ricerca di immagini sul portale di Google Image Search
Uso di immagini raschiate
Le aziende potrebbero voler eseguire la scansione del Web e raschiare le immagini per una varietà di casi d'uso. Questi possono essere principalmente suddivisi in due set: utilizzando l'immagine grezza. Costruire modelli o grafici utilizzando le immagini per creare un prodotto più maturo. Alcuni degli usi comuni includono:
Formazione di modelli ML
Gran parte del lavoro di ricerca è dedicato al riconoscimento delle immagini, che viene svolto addestrando modelli su migliaia di immagini. L'esempio più semplice di ciò è l'esperimento in cui un algoritmo ML è stato addestrato su migliaia di immagini di cani e gatti, dopodiché è stato in grado di identificare con successo immagini con cani e gatti con una precisione del 98,7%.
Immagini di e-commerce
Uno dei più grandi tesori di immagini è l'e-commerce. I siti Web più piccoli possono spesso prelevare immagini da quelli più grandi per determinare quale tipo di prodotti viene aggiunto al catalogo. Le immagini dell'e-commerce possono anche essere utilizzate per ricerche di mercato, ad esempio, le immagini raschiate delle magliette più vendute da Amazon possono mostrare che le magliette nere sono le più richieste.
Creazione di contenuti di testo/video
Mentre prima la maggior parte di noi otteneva le informazioni dai dati testuali, oggi i dati che consumiamo sono disponibili in molti formati: testo, audio, video e brevi video. Gran parte di questo contenuto include immagini, alcune delle quali provengono da fonti esterne e hanno i loro riferimenti menzionati. Il rovescio della medaglia, questo contenuto può anche essere raschiato per le immagini per un ulteriore utilizzo a valle.
Meme
I meme sono immagini con contenuti divertenti che spesso diventano virali e prendono d'assalto Internet. Negli ultimi anni abbiamo visto aziende assumere scrittori di meme o team di marketing che utilizzano i meme per connettersi con il pubblico sul web. Raschiare i meme e le immagini più recenti spesso aiuta i creatori di meme a trovare nuove idee o varianti utilizzando lo stesso modello.
Ricerca di immagini di individui specifici, eventi e altro ancora
I contenuti nuovi o informativi spesso richiedono immagini. Ad esempio, è probabile che tu aggiunga un'immagine di Madre Teresa se stai pubblicando un articolo su di lei. Un'immagine del genere può essere facile da trovare. Ma se sei una casa editrice che pubblica migliaia di articoli al mese e richiede immagini non soggette a copyright da utilizzare nei suoi articoli, ciò richiederà un serio raschiamento delle immagini.
Sfide con lo scraping di immagini dal Web
Sistemare le cose
Uno dei principali ostacoli nello scraping di immagini o dati dal Web è disporre di un team tecnico sufficientemente capace per farlo. Al secondo posto c'è la configurazione dell'infrastruttura. Dato che la maggior parte delle aziende richiede dati in tempo reale da più fonti, le configurazioni di scraping dei dati vengono generalmente distribuite sul cloud. Ciò significa che il tuo team deve avere il know-how per configurarlo sul cloud e mantenerlo a lungo termine. La manutenzione comporta la correzione di bug e rotture e il controllo dei costi man mano che si aumenta.
Misure anti-raschiamento e ostacoli legali
Dovresti recuperare il file robot.txt per qualsiasi sito Web da cui estrai i dati. Ciò ti assicurerebbe di seguire le regole di scansione impostate da quel sito web. Inoltre, dovrai anche tenere traccia delle immagini che si trovano oltre la pagina di accesso o di quelle che hanno diritti d'autore e politiche di riutilizzo specificatamente menzionate. Leggi specifiche in ambito geografico come il GDPR in Europa o il CCPA in California possono rendere le cose ancora più complicate.
Layout di siti Web diversi e in continua evoluzione
I proprietari di siti Web aggiornano rapidamente l'interfaccia utente per rendere le pagine Web più attraenti per i clienti. Ciò significa che la tecnologia più recente gestisce i siti Web e rende lo scraping più complicato. Aggiornamenti regolari significano anche che potrebbe essere necessario modificare il codice ogni volta che inviano un aggiornamento dell'interfaccia utente, qualcosa di cui potresti essere informato, solo quando vedi che non vengono aggiunte nuove immagini raschiate al database.
Immagini errate o inutilizzabili
Raschiare le immagini alla cieca può causare un problema di qualità. Ciò può essere in termini di risoluzione, visibilità e corrispondenza dell'immagine stessa. Ad esempio, la ricerca di Batman può risultare in un sacco di immagini di attori che hanno interpretato il personaggio in film e soap opera. Dovrai assicurarti di utilizzare i filtri corretti per avere un set di immagini pulito per la tua ricerca o attività.
I siti Web con immagini sono più lenti da caricare a volte
Il testo è leggero e le immagini sono pesanti. Quando apri una pagina web con numerose immagini, potresti notare che il caricamento delle immagini richiede tempo. Questo potrebbe rivelarsi una sfida se stai raschiando troppe immagini dallo stesso sito Web in una volta sola. Il download delle immagini senza assicurarsi che siano completamente caricate può comportare il download di immagini di scarsa qualità o addirittura vuote.
Soluzioni fai da te
Un po 'di ricerca online può fornirti alcune opzioni fai-da-te. Alcuni dei più popolari tra questi sono:
- Scrivi il tuo codice in un linguaggio come Python usando librerie come BeautifulSoup. Ciò tuttavia funzionerebbe solo per piccoli requisiti di raschiatura.
- Utilizzo di software basato sull'interfaccia utente disponibile sia in versione gratuita che a pagamento. Questi di solito hanno un sacco di restrizioni per la versione gratuita. Esiste anche una curva di apprendimento nel caso in cui desideri che il tuo team aziendale o il tuo team di prodotto utilizzi una soluzione del genere per raschiare le immagini.
- Esistono anche soluzioni di scraping delle immagini basate sulla cattura dello schermo in cui è possibile utilizzare il mouse per specificare le immagini desiderate da una pagina Web e il servizio estrarrà le immagini da pagine Web simili. Questi non sempre forniscono i dati più puliti e dovrai pagare per raccogliere più di un numero limitato di immagini.
In breve, nessuna delle 3 soluzioni fai-da-te sarebbe in grado di gestire tutte le sfide menzionate quando si tratta di eseguire la scansione del Web e lo scraping di immagini per le aziende.
Vantaggi dell'utilizzo di una soluzione DaaS
L'estrazione di dati dal Web per una dichiarazione di problema una tantum o un progetto per animali domestici può essere eseguita con poche righe di codice Python, ma impostare una soluzione di livello aziendale per ottenere un feed di dati in tempo reale non è un compito facile. Sarebbe ancora più difficile quando hai bisogno di migliaia di immagini da centinaia di siti web. Questo è il motivo per cui PromptCloud fornisce soluzioni di scraping di immagini personalizzate che possono essere utilizzate sia dalle aziende Fortune 500 sia dalle startup che hanno appena aperto un negozio.
Fig: Passaggi coinvolti nello scraping di PromptCloud per le tue esigenze aziendali
Abbiamo un semplice processo in 3 fasi in cui puoi comunicarci i siti Web e le pagine Web che devono essere raschiate per le immagini. Potresti anche voler raschiare le immagini relative a determinate parole di ricerca. Altre informazioni che dovrai fornire sono la frequenza di scansione, se desideri acquisire il testo direttamente sopra o sotto l'immagine, dove devono essere archiviate le immagini raschiate e come desideri accedervi. Possiamo rilasciare le immagini sul tuo S3 o DropBox o consentirti di interrogarle tramite API.
Una volta ottenuti i requisiti, configureremo il crawler per eseguire lo scraping delle immagini da più siti Web. Ci occuperemo della configurazione del cloud, della configurazione e degli aspetti legali. Una volta che la configurazione è attiva e funzionante, otterremo alcuni dati di esempio da convalidare con te prima che il sistema live inserisca i dati nel metodo di consegna specificato.
Successivamente, monitoreremo il sistema di raschiamento delle immagini e collegheremo eventuali guasti aggiornando i crawler per gestire nuovi siti Web e pagine Web, nonché modifiche nelle pagine Web. La parte migliore di tutto è che paghi solo per la quantità di dati che consumi. Quindi, se scarichi 100 immagini da 10 siti Web in un mese, paghi solo per quello. E nel mese successivo, puoi prelevare 10.000 immagini da 1000 siti Web e quindi pagare di conseguenza. Ciò garantisce che il nostro servizio sia veramente una soluzione DaaS basata su cloud che può essere utilizzata da tutti, indipendentemente dalla quantità di dati necessaria.