Suggerimenti per estrarre correttamente i dati Web anche dai siti più difficili utilizzando le migliori pratiche di web scraping

Pubblicato: 2018-05-16
Mostra il sommario
Progetto 1: raschiare i dati del settore delle telecomunicazioni per una società di business intelligence
Sfide del progetto
1. Troppi passaggi per accedere ai dati
2. Cambiamenti frequenti del sito
3. Problemi di codifica dei caratteri
4. Dati ridondanti sul sito
Progetto 2: estrarre i dati dalle piattaforme Hotel Discovery e confronto prezzi
Sfide del progetto
1. Blocco
2. Scoperta
3. Problemi di codifica dei caratteri
4. Dati ridondanti sui siti di destinazione
Progetto 3: La società di consulenza Big4 ha bisogno di dati di prodotto per costruire un sistema di Price Intelligence
Sfida del progetto
1. Corrispondenza del prodotto
Il servizio di scraping web è incentrato sulla risoluzione delle sfide

La scansione del Web presenta le sue sfide e non dovrebbe sorprendere se hai mai provato a raschiare i dati sul Web. I dati disponibili sul Web non seguono regole, strutture o standard e questo da solo rende difficile prevedere il tipo di problemi che si potrebbero incontrare durante la scansione del Web alla ricerca di dati. La difficoltà aumenta di molte volte quando il complesso raschiamento del nastro deve essere eseguito su larga scala.

I dati Web, nonostante contengano informazioni preziose per le aziende, rimangono ancora un osso duro da decifrare per molti. È qui che entra in gioco un servizio specializzato di web scraping come il nostro. In PromptCloud, riceviamo requisiti di ogni tipo e ogni attività di scraping dei dati è di per sé una sfida. Tuttavia, la complessità dell'estrazione dei dati Web varia molto a seconda di diversi fattori. Ecco alcune delle attività di scraping più impegnative che abbiamo gestito finora.

Progetto 1: raschiare i dati del settore delle telecomunicazioni per una società di business intelligence

Siti di destinazione: siti Web di gestori di telefoni cellulari

Punti dati richiesti: tutte le offerte disponibili per vari segmenti di clienti

L'azienda desiderava raccogliere dati relativi alle offerte disponibili sui siti Web di vari gestori di telefoni cellulari, per fornire un vantaggio competitivo ai propri clienti in questo dominio. Il requisito era fattibile nonostante fosse estremamente complesso. Di seguito sono stati riportati i problemi che hanno reso questo progetto estremamente impegnativo.

Sfide del progetto

1. Troppi passaggi per accedere ai dati

Le informazioni sull'offerta sui siti di origine sono state visualizzate solo dopo aver inserito determinate variabili come il codice postale del cliente e i tipi di offerta. Ciò costituiva un lungo percorso prima che i dati effettivi venissero visualizzati. Di conseguenza, il crawler doveva essere programmato per selezionare ogni possibile combinazione di input, per consentire al sito di visualizzare in modo efficace tutti i dati disponibili.

2. Cambiamenti frequenti del sito

Poiché il settore della telefonia mobile è frenetico, i dati disponibili su questi siti Web tendono a cambiare molto spesso. I fornitori di rete mobile apportano modifiche frequenti alle offerte esistenti, interrompono determinate offerte e ne inventano di nuove. Ciò ha richiesto un attento monitoraggio e implementazione di un web scraper automatizzato, per gestire i problemi di modifica del sito.

3. Problemi di codifica dei caratteri

La codifica dei caratteri di un sito Web è in genere dichiarata dal sito Web nel suo codice HTML. Tuttavia, alcuni siti Web possono avere una dichiarazione di codifica dei caratteri errata o utilizzare più di una codifica dei caratteri nel sito. Questi potrebbero effettivamente rendere più complessa la configurazione del crawler web e continuare a causare problemi se il sito non è coerente con la codifica dei caratteri.

4. Dati ridondanti sul sito

I dati ridondanti possono essere un vero problema, soprattutto quando la scala dell'estrazione dei dati web è ampia. Sebbene disponiamo di un sistema di pulizia pensato per trovare e rimuovere voci ridondanti dal set di dati, il sito stesso con dati ridondanti rende ancora più difficile gestire l'estrazione.

Progetto 2: estrarre i dati dalle piattaforme Hotel Discovery e confronto prezzi

Siti di destinazione: portali di viaggi online e siti web di hotel

Dati richiesti: annunci e recensioni di hotel

Il cliente voleva estrarre i dati sugli hotel da centinaia di siti Web di viaggi in tutto il mondo per creare un motore di ricerca di hotel unico. Ogni sito di destinazione necessitava della propria configurazione di crawler e le sfide individuali da evitare durante la configurazione di crawler di dati per oltre 100 siti hanno reso questo progetto impegnativo da intraprendere.

Sfide del progetto

1. Blocco

Alcuni siti nell'elenco di destinazione avevano vari meccanismi di blocco mirati ai crawler automatizzati. Questo doveva essere gestito utilizzando la frequenza ottimale delle richieste GET e richiedendo solo un numero nominale di pagine alla volta. Abbiamo evitato i meccanismi di blocco seguendo le migliori pratiche di web scraping.

2. Scoperta

La scoperta degli URL da recuperare è una fase critica nel processo di scansione del Web e di estrazione dei dati e la scarsa struttura di navigazione di alcuni siti di destinazione ha reso difficile per i crawler Web attraversare le pagine senza interruzioni. Abbiamo risolto questo problema impostando più regole di fallback per l'operazione di individuazione degli URL.

3. Problemi di codifica dei caratteri

I problemi di codifica dei caratteri erano una sfida con questo compito. Abbiamo dovuto assicurarci manualmente che le codifiche utilizzate corrispondessero a quelle di ciascun sito di destinazione. In caso di siti che hanno mostrato incoerenze nella codifica dei caratteri, abbiamo anche impostato alcune automazioni per gestire il problema.

4. Dati ridondanti sui siti di destinazione

I dati ridondanti presenti su diversi siti si sono aggiunti all'aspetto impegnativo di questo progetto. Abbiamo lasciato che il nostro sistema di pulizia si occupasse della ridondanza dei dati estratti e questo approccio sembrava funzionare anche per il cliente.

Progetto 3: La società di consulenza Big4 ha bisogno di dati di prodotto per costruire un sistema di Price Intelligence

Siti di destinazione: portali di eCommerce popolari

Dati richiesti: Informazioni sul prodotto

Il cliente stava cercando di aiutare uno dei suoi clienti con l'intelligence sui prezzi e aveva bisogno di un servizio in grado non solo di fornire i dati del prodotto ma anche di abbinarli. Sebbene di solito non gestiamo processi al di fuori dell'estrazione e della consegna dei dati, abbiamo deciso di occuparci di questo considerando la portata e la natura interessante del requisito.

Sfida del progetto

1. Corrispondenza del prodotto

L'abbinamento dei prodotti è un aspetto molto impegnativo che esula dall'ambito delle competenze di web scraping. Qui è essenziale un forte sistema di corrispondenza, poiché ogni altro portale di e-commerce presenterà alcune piccole differenze quando si tratta delle descrizioni dei prodotti, inclusi il nome del prodotto e il nome del marchio.

Tuttavia, abbiamo sviluppato un algoritmo che potrebbe eseguire la corrispondenza una volta che i dati sono stati estratti e indicizzati alla nostra fine per soddisfare le esigenze di questo progetto unico.

Il servizio di web scraping è incentrato sulla risoluzione delle sfide

Data la mancanza di standardizzazione per quanto riguarda i dati visualizzati dai siti Web, il web scraping è e sarà sempre un compito impegnativo che deve essere affrontato utilizzando abilità, esperienza e competenza. Questo è esattamente il motivo per cui sottolineiamo l'importanza di scegliere una soluzione completamente gestita quando si tratta di requisiti di dati Web per le aziende, indipendentemente dalle dimensioni e dal dominio.