Semalt Review: Web Scraping per divertimento e profitto

Puoi raschiare il sito senza la necessità di un'API. Mentre i proprietari di siti sono aggressivi nel fermare lo scrap, si preoccupano meno delle API e invece mettono maggiormente l'accento sui siti Web. Il fatto che molti siti non proteggano adeguatamente dall'accesso automatico crea un margine di manovra per i raschiatori. Alcune semplici soluzioni alternative ti aiuteranno a raccogliere i dati di cui hai bisogno.

Introduzione alla raschiatura

Lo scraping richiede la comprensione della struttura dei dati necessari e della sua accessibilità. Questo inizia recuperando i tuoi dati. Trova l'URL che restituisce le informazioni necessarie. Sfoglia il sito Web e controlla come cambiano gli URL mentre navighi tra le diverse sezioni.

In alternativa, cerca diversi termini sul sito e controlla come cambiano gli URL in base al termine di ricerca. Dovresti vedere un parametro GET come q = che cambia ogni volta che cerchi un nuovo termine. Conservare i parametri GET necessari per caricare i dati e rimuovere gli altri.

Come affrontare l'impaginazione

L'impaginazione ti impedisce di accedere a tutti i dati di cui hai bisogno in una sola volta. Facendo clic su pagina 2, un parametro offset = viene aggiunto all'URL. Questo è il numero di elementi in una pagina o il numero di pagina. Aumenta questo numero su ogni pagina dei tuoi dati.

Per i siti che utilizzano AJAX, apri la scheda di rete in Firebug o Inspector. Controlla le richieste XHR, identifica e focalizza quelle che raccolgono i tuoi dati.

Ottieni dati dal markup della pagina

Ciò si ottiene utilizzando gli hook CSS. Fai clic con il pulsante destro del mouse su una sezione specifica dei tuoi dati. Trascina Firebug o Inspector e ingrandisci l'albero DOM per ottenere il <div> estremo che avvolge un singolo oggetto. Una volta ottenuto il nodo corretto dall'albero DOM, visualizzare l'origine della pagina per assicurarsi che gli elementi siano accessibili in HTML non elaborato.

Per eseguire correttamente la raschiatura del sito, è necessaria una libreria di analisi HTML che legge in HTML e la trasforma in un oggetto che è possibile ripetere fino a quando non si ottiene ciò di cui si ha bisogno. Se la tua libreria HTTP richiede l'impostazione di alcuni cookie o intestazioni, sfoglia il sito sul tuo browser Web e ottieni le intestazioni inviate dal tuo browser. Inseriscili in un dizionario e inoltra con la tua richiesta.

Quando hai bisogno di un login per raschiare

Se è necessario creare un account e accedere per ottenere i dati desiderati, è necessario disporre di una buona libreria HTTP per gestire gli accessi. L'accesso a Scraper ti espone a siti di terze parti.

Se il limite di velocità del servizio Web dipende dall'indirizzo IP, impostare un codice che raggiunga il servizio Web su un Javascript lato client. Quindi inoltrare i risultati al server da ciascun client. I risultati sembreranno provenire da così tanti luoghi e nessuno supererà il loro limite di velocità.

Markup mal formato

Alcuni markup possono essere difficili da convalidare. In questi casi, scavare nel parser HTML per le impostazioni di tolleranza agli errori. In alternativa, considera l'intero documento HTML come una stringa lunga ed esegui la suddivisione delle stringhe.

Mentre è possibile eseguire il raschiamento di siti di tutti i tipi di dati in rete, alcuni siti utilizzano software per interrompere lo scraping e altri vietano lo scraping del Web . Tali siti possono farti causa e persino essere stato incarcerato per aver raccolto i loro dati. Quindi sii intelligente in tutto il tuo scraping web e fallo in sicurezza.