Costruirò uno scraper web in python per siti pesantemente JavaScript e protetti
Sviluppatore Web Full Stack
Informazioni su questo servizio
Chiunque può scrivere uno script che funziona una volta sul proprio laptop. Sei qui perché il sito ha reagito.
Prendo gli scrapes che si interrompono: contenuti che esistono solo dopo che JavaScript viene eseguito, pagine dietro una sfida, endpoint che iniziano a restituire 403 a metà esecuzione.
COSA GESTISCO
Siti renderizzati con JavaScript tramite un vero browser headless quando l'HTML da solo non contiene nulla.
Siti che bloccano script naif: ritardi appropriati, intestazioni ruotate, supporto proxy integrato fin dall'inizio.
Paginazione, filtri, alberi di categorie e pagine di dettaglio per i campi che ci vivono solo lì.
Output nel formato che usi: CSV, Excel, Google Sheets, JSON, PostgreSQL o la tua API.
SCRAPER CHE RESISTONO IN PRODUZIONE
Le fallimenti più interessanti arrivano più tardi: la memoria cresce fino a quando il processo viene ucciso, i browser headless si accumulano come zombie, un sito aggiunge una sfida e il tuo controllo restituisce un 200 felice su una pagina morta. Costruisco contro questi problemi: tentativi con backoff, riavvio in caso di crash, rotazione dei log, avvisi Telegram e controlli che verificano il contenuto e non i codici di stato.
Non tocco login che non possiedi o contenuti a pagamento.
Tecnologia:
Python
•
Puppeteer
•
scrapy
•
selenium
•
Beautiful soup
Tecnica:
Automatizzato
Il mio portfolio
FAQ
Traduzione automatica.
Il sito blocca i bot. Puoi comunque farlo?
Spesso sì, con ritardi appropriati, intestazioni ruotate, un browser reale dove serve e supporto proxy integrato. Ma controllo il target prima di ricevere l'ordine e ti dico se non è realistico. Non prenderò i soldi e poi scoprirò che non si può fare.
Continuerebbe a funzionare se il sito cambia?
Gli scraper si rompono quando il markup del target cambia; è vero per ogni scraper mai scritto. Mantengo i selettori in un posto solo così la correzione è rapida, e su Premium ricevi un avviso quando una run non restituisce nulla invece di raccogliere silenziosamente righe vuote.
Lo scraping è legale?
I dati pubblici raccolti a un ritmo ragionevole generalmente sì, ma dipende dai termini del sito e dalla tua giurisdizione, e io sono uno sviluppatore, non il tuo avvocato. Non scraperò dietro login che non sono tuoi o raccoglierò dati personali contro i termini di un sito.
