Riduzione dei costi senza scorciatoie durante la raccolta di dati dal Web

Pubblicato: 2023-02-13
Sommario mostra
Ripresa > Riavvio
Server vs Serverless
Rilevatore di modifiche al sito web
Automatizzare le attività umane
Scegli un cloud pubblico anziché server dedicati
Strumento Open Source
Esternalizzare i problemi di conformità
Rendi la convalida dei dati più economica utilizzando le macchine
Lascia che sia la scala a dettare i termini
Aggiorna solo ciò che è cambiato
Utilizzando un provider DaaS come PromptCloud

Raschiare dati dal web senza avere un piano in mano è pieno di rischi. Man mano che ti perdi in siti Web complessi e pulizia dei dati, il tuo budget verrà superato rapidamente. Le possibilità sono ancora maggiori se si utilizzano risorse cloud e non si monitorano i costi sostenuti quotidianamente. In termini di ottimizzazione dei costi, dovrai esaminare l'intero flusso di lavoro, in genere includendo:

  1. Raschiare dati dal web.
  2. Pulizia e normalizzazione dei dati.
  3. Archiviazione dei dati in un supporto come un database o un bucket S3.
  4. Accesso ai dati tramite chiamate API o accesso diretto alla posizione di archiviazione.
  5. Possibile crittografia e decrittografia dei dati (nel caso in cui i dati siano sensibili e l'elevata sicurezza sia fondamentale).
  6. Elaborazione dei dati raschiati per renderli utilizzabili per i flussi di lavoro a valle.

Ripresa > Riavvio

In molti casi, quando si estraggono decine di punti dati su milioni di pagine Web, il codice potrebbe rompersi a un certo punto. Nella maggior parte degli scenari, le persone procedono con il riavvio dell'intera attività, sì, è davvero molto più facile da implementare e utilizzare. Tuttavia, con un po' di meraviglia ingegneristica, possibilmente utilizzando un meccanismo di memorizzazione nella cache, puoi assicurarti di salvare il checkpoint ogni volta che un lavoro di scraping si interrompe. Dopo aver risolto il problema alla base della rottura, puoi continuare a raschiare i dati riprendendo dal checkpoint salvato.

Server vs Serverless

Questo punto è importante per coloro che non estraggono dati in tempo reale, ma in batch. Ad esempio, supponi di raccogliere dati da un milione di pagine Web due volte al giorno. Ogni volta, il completamento del lavoro di raschiatura richiede 2 ore. Quindi il tempo totale impiegato per l'esecuzione giornaliera dell'attività è 2+2=4 ore. Ora, se disponi di una configurazione basata su server che utilizza qualcosa come un'istanza AWS EC-2, ti verranno addebitate 24 ore a meno che tu non accenda e spegni manualmente l'istanza ogni singola volta, un'operazione ardua e facile da disordinare. processo in su. Il percorso migliore da intraprendere qui sarà utilizzare una configurazione senza server in cui si dispone di risorse cloud in esecuzione su richiesta come AWS Lambda o Fargate. In questo modo, ti vengono addebitate solo le 4 ore che consumi e ti farà risparmiare un sacco di soldi a lungo termine. Nel caso in cui tu stia estraendo dati dal Web utilizzando spider automatici che funzionano 24 ore su 24, 7 giorni su 7, puoi scegliere la configurazione basata su server.

Rilevatore di modifiche al sito web

Potresti raschiare un milione di pagine web da 5 siti web - 5 milioni di scrap di pagine web in totale. Supponiamo ora che 2 di questi siti Web apportino modifiche basate sull'interfaccia utente e quando esegui il tuo crawler, ottieni i dati sbagliati nel tuo flusso di lavoro. Ora dovrai spendere sia ore di lavoro che risorse di elaborazione extra per trovare quale parte dei dati è inutilizzabile, aggiornare il crawler e quindi eseguirlo di nuovo per 2 milioni di pagine web. Una situazione del genere avrebbe potuto essere facilmente evitata se avessi eseguito uno script di rilevamento delle modifiche che ti avrebbe detto che l'aspetto di 2 dei siti Web è cambiato. Ciò ti farebbe risparmiare tempo, denaro e persino una probabile perdita di dati.

Automatizzare le attività umane

Quando si crea un flusso di lavoro di web scraping, ci saranno numerose attività che vengono inizialmente eseguite manualmente. Questi possono includere fasi come la verifica e la convalida dei dati, la pulizia dei dati, la formattazione e altro ancora. Spesso gli analisti di dati trascorrono ore e giorni eseguendo script sui loro computer locali. Data la grande quantità di dati che potrebbero gestire, l'esecuzione degli script potrebbe richiedere del tempo. L'opzione migliore qui è automatizzare alcuni dei passaggi dopo aver ottenuto il polso dei dati. Con il tempo, dovresti mirare ad automatizzare più attività per aumentare l'efficienza.

Scegli un cloud pubblico anziché server dedicati

A meno che tu non stia prendendo decisioni utilizzando un flusso di dati in cui ogni millisecondo conta, puoi permetterti di utilizzare un cloud pubblico invece di server dedicati. Potrebbe esserci un leggero degrado delle prestazioni, ma l'utilizzo di server dedicati a lungo termine potrebbe far aumentare i costi di scraping del Web senza alcun limite.

Strumento Open Source

La maggior parte dei software con licenza costa una bomba tramite abbonamenti mensili o annuali. Nel caso in cui tu abbia bisogno di funzionalità extra come la rotazione IP o la pulizia dei dati, puoi pagare un extra. Inoltre, la maggior parte di questi strumenti a pagamento avrà alcune limitazioni e qualsiasi aggiunta o modifica di nuove funzionalità potrebbe richiedere mesi, se approvata.

Esternalizzare i problemi di conformità

Quando si estraggono dati da tutto il Web, è necessario esaminare molteplici aspetti legali come

  1. Se stai acquisendo informazioni personali.
  2. Il file robot.txt per quel sito web.
  3. Le regole che circondano i dati che si trovano dietro una pagina di accesso.
  4. Gestione di contenuti protetti da copyright.
  5. Garantire che il riutilizzo dei contenuti non violi le leggi.
  6. Essendo a conoscenza delle leggi della posizione geografica da cui estrai i tuoi contenuti e dove risiedono i tuoi utenti finali.

E altro ancora...

A causa della complessità delle leggi digitali globali, è facile trovarsi dalla parte sbagliata di una causa a causa di un passo falso. D'altra parte, non tutte le aziende avrebbero un team legale che si occuperebbe di tali problemi: sarebbe costoso.

Potresti invece esternalizzare i tuoi requisiti legali in modo da poter ricevere il loro aiuto ogni volta che imposti un nuovo flusso di web scraping o decidi di creare un prodotto utilizzando i dati di scraping. I servizi legali su richiesta per il web scraping avrebbero più senso per le piccole o medie imprese, mentre gli uffici legali di Fortune 500 possono gestire tali problemi internamente.

Rendi la convalida dei dati più economica utilizzando le macchine

Un passaggio che le aziende possono fare è utilizzare librerie di terze parti per convalidare i dati invece di rivolgersi a specialisti dei dati. Spesso decine di analisti analizzano manualmente i dati grezzi, apportano determinate modifiche, generano nuove colonne e normalizzano i dati. La maggior parte di queste attività può essere automatizzata creando flussi di lavoro utilizzando strumenti come AWS Step Functions. Questi flussi di lavoro possono essere configurati in base a:

  1. Indipendentemente dal fatto che i tuoi dati arrivino sotto forma di live streaming o batch.
  2. La quantità di dati che vengono elaborati periodicamente.
  3. Il tipo di elaborazione che si desidera eseguire sui dati.
  4. Il tempo accettabile che un punto dati può impiegare per attraversare il flusso di lavoro.
  5. La necessità di meccanismi di ripetizione, rollback e riesecuzione.

Il più grande vantaggio di tali flussi di lavoro è che se hai davvero bisogno di una certa quantità di controlli manuali, puoi avere un passaggio manuale nel flusso di lavoro in cui una persona può dare un'occhiata ai dati, apportare modifiche se necessario e premere un pulsante per spostare il flusso di lavoro al passo successivo.

Lascia che sia la scala a dettare i termini

La migliore soluzione di scraping per un'entità aziendale con migliaia di dipendenti che servono in più paesi, potrebbe non essere conveniente per una startup con 10 dipendenti che servono una singola città. Quindi, prendere idee di scraping da altre aziende potrebbe non essere utile. Inoltre, potrebbe essere necessario aggiornare anche il piano di scraping della tua azienda man mano che aumenti.

Aggiorna solo ciò che è cambiato

Supponiamo che tu stia raccogliendo dati da un sito Web di e-commerce. Hai più punti dati importanti come descrizione, proprietà, politica di restituzione, prezzo, numero di recensioni, valutazioni e altro. Ora, nel caso in cui aggiorni questi dati regolarmente, potresti preferire aggiornare diversi punti dati a intervalli diversi. Ad esempio, puoi aggiornare il prezzo su base oraria, le recensioni e le valutazioni ogni giorno e il resto dei punti dati ogni mese. Anche se un tale cambiamento sembra piccolo, quando moltiplichi il costo e lo sforzo per qualche milione, ti renderai conto di quanto rinfrescare solo ciò di cui hai bisogno può farti risparmiare.

Utilizzando un provider DaaS come PromptCloud

Non esiste una taglia unica quando si tratta di web scraping, motivo per cui il nostro team di PromptCloud fornisce soluzioni personalizzate per ogni azienda in base alle loro esigenze di scraping. La nostra soluzione completamente personalizzabile ti consente di aggiornare:

  • Siti Web da cui è necessario prelevare dati.
  • Frequenza di scraping dei dati.
  • Punti dati da estrarre.
  • Il meccanismo con cui si desidera consumare i dati raschiati.

Indipendentemente dal numero di fonti che colleghi, la nostra funzione di aggregazione può aiutarti a ottenere i dati in un unico flusso.

Le aziende hanno programmi serrati in cui hanno bisogno di flussi di lavoro attivi e funzionanti velocemente. La nostra esperienza ci aiuta ad allestire tubazioni di raschiatura in breve tempo, una volta che ne abbiamo i requisiti. Aiutiamo anche i clienti a dare un senso al caos nei dati fornendo soluzioni end-to-end. Altre caratteristiche che tornano utili sono

  • Completamente gestito senza servizio di manutenzione distribuito nel cloud.
  • Supporto tempestivo supportato da solidi SLA.
  • Bassa latenza in modo che i dati ti raggiungano in tempo.
  • Scalabilità illimitata in base alle tue esigenze.
  • Monitoraggio e manutenzione dell'intero flusso di lavoro di scraping.

Dal momento che addebitiamo in base alla quantità di dati che consumi, non devi preoccuparti di tariffe fisse. Come una vera soluzione DaaS, la tua fattura mensile si basa solo sul consumo di dati. Quindi iscriviti subito a noi e ottieni dati a un prezzo ragionevole senza scorciatoie in soli 4 passaggi:

  1. Tu ci dai i requisiti.
  2. Ti diamo dati di esempio.
  3. Finalizzeremo la configurazione del crawler se sei soddisfatto.
  4. I dati arrivano nelle tue mani, nel formato che preferisci e tramite il mezzo preferito.

Quindi la scelta è tua ed è ora di prendere in mano le redini del web scraping prima che i tuoi costi raggiungano il picco.