Costruirò un web crawler in Python e uno scraper programmato con un database
Data engineer Python: web scraping, pipeline ETL e arricchimento dei dati
Livello 1
Ha soddisfatto determinati criteri di prestazione e mostra un forte potenziale nel marketplace.
Informazioni su questo servizio
Uno scraper che funziona una volta è un file. Uno scraper che funziona ogni settimana è un sistema, e la differenza sta in cosa succede il giorno in cui il sito cambia layout. La maggior parte si rompe silenziosamente, e la dashboard rimane sbagliata per due settimane prima che qualcuno se ne accorga.
Ciò che costruisco
- Scraper e crawler personalizzati in Python, per un sito o per molti
- Esecuzioni programmate sul tuo server o nel cloud, scrivendo su PostgreSQL, BigQuery o Sheets
- Retries, limitazione della velocità, rotazione dei proxy e gestione di login e JavaScript
- Allarmi quando un campo inizia a tornare vuoto, così si cattura il break silenzioso
Ciò che ottieni
- Lo scraper funzionante e il codice sorgente, tuoi da conservare e modificare
- Documentazione di setup scritta per chi lo farà funzionare dopo di te, non solo per te
- Una breve consegna in modo che possa essere ridistribuito senza di me
Ho costruito il crawler che ha raccolto e strutturato le dichiarazioni di proxy di tutte le principali compagnie aeree statunitensi ed europee.
Preferisco dirti che una fonte è una cattiva idea piuttosto che costruire qualcosa di fragile sopra. Inviami il sito e la frequenza con cui ti serve il dato, e lo valuterò e ti fornirò un preventivo prima che tu ordini.
Tecnologia:
Python
•
Puppeteer
•
selenium
•
Beautiful soup
•
Playwright
Tecnica:
Automatizzato
Il mio portfolio
FAQ
Traduzione automatica.
Ottengo il codice sorgente?
Sì, tutto quanto, ed è tuo per modificarlo, ridistribuirlo o consegnarlo a un altro sviluppatore. Nessuna licenza, nessuna dipendenza runtime da me, nessuna offuscazione. Il repository include un readme che spiega come installarlo, configurarlo e come modificare i campi che raccoglie.
Può funzionare senza che io intervenga?
Ecco a cosa servono le versioni Standard e Premium. Può essere schedulato sul tuo server, su una piccola VM cloud o su AWS Lambda, con log che puoi leggere e avvisi quando un'esecuzione fallisce o non restituisce nulla. Dove lo metti è una tua scelta, e lo configurerò ovunque preferisci.
Cosa succede quando il sito cambia e si rompe?
Due cose riducono i rischi. Selettori scritti contro strutture stabili invece che contro nomi di classi generati, così i piccoli redesign non lo rompono. E un controllo di validazione che avvisa quando un campo inizia a restituire vuoto, così scopri tutto lo stesso giorno invece di due settimane dopo.
A quali database può scrivere?
PostgreSQL, MySQL, SQLite, BigQuery, MongoDB o file CSV e Parquet semplici se un database è più di quello che ti serve. Google Sheets funziona per volumi più piccoli. Dimmi quali dati alimenta e li scriverò nel formato che preferisci.
Può monitorare prezzi o stock nel tempo?
Sì, ed è uno dei motivi migliori per costruirlo invece di comprarlo come soluzione pronta. Esecuzioni programmate con storico conservato ti permettono di vedere i movimenti invece di uno snapshot. La versione Premium include il rilevamento delle variazioni e gli avvisi associati.
E per protezioni anti-bot pesanti?
Sessioni browser reali con Playwright, rotazione di proxy residenziali, tempi di risposta umani e persistenza della sessione. La maggior parte dei siti è gestibile. Alcuni non valgono il costo, e preferisco dirtelo piuttosto che quotarti una battaglia. Inviami prima l'URL e controllerò.
Puoi mantenerlo dopo la consegna?
La manutenzione mensile è disponibile come accordo separato: controllo gli avvisi, riparo le rotture e aggiusto quando la fonte cambia. Molti clienti preferiscono prendere il codice e gestirlo da soli, ed è per questo che la documentazione è scritta per uno sconosciuto.
Come si differenzia questa dal tuo gig di web scraping?
Quel gig consegna un file. Questo consegna una macchina che produce il file. Se ti serve solo una volta, ordina quello, è più economico e veloce. Se ti servirà di nuovo il mese prossimo, questa è la scelta giusta, e la seconda esecuzione si ripaga da sola.
Quanto tempo richiede una build?
Tre giorni per uno scraper di un singolo sito con codice sorgente. Cinque se è schedulato e scrive in un database. Sette per un crawler multi-sito con monitoraggio e documenti di consegna. Faccio il preventivo dopo aver visto il sito, e la complessità può spostare i tempi prima che tu ordini.
Puoi sistemare o prendere in gestione uno scraper costruito da qualcun altro?
Sì. Mandami il repository e dimmi cosa non funziona. Ti risponderò con cosa è rotto, se ripararlo costa meno che rifarlo, e una risposta onesta se non è così. A volte la risposta è che il codice va bene e è cambiata la fonte.
