È possibile raschiare il sito senza la necessità di un'API. Mentre i proprietari dei siti sono aggressivi sull'arresto degli scraping, si preoccupano meno delle API e mettono invece più l'accento sui siti web. I fatti che molti siti non proteggono adeguatamente dall'accesso automatico creano un margine di manovra per i raschietti. Alcune semplici soluzioni ti aiuteranno a raccogliere i dati di cui hai bisogno.
La raschiatura richiede la comprensione della struttura dei dati necessari e della relativa accessibilità. Questo inizia con il recupero dei dati. Trova l'URL che restituisce le informazioni che ti servono. Sfoglia il sito web e controlla come cambiano gli URL mentre navighi attraverso 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 gestire l'impaginazione
L'impaginazione impedisce all'utente di accedere a tutti i dati necessari in una sola volta. Quando fai clic su pagina 2, un parametro offset = viene aggiunto all'URL. Questo è il numero di elementi su una pagina o il numero di pagina. Incrementa questo numero su ogni pagina dei tuoi dati.
Per i siti che utilizzano AJAX, aprire la scheda di rete in Firebug o Inspector. Controlla le richieste XHR, identifica e focalizza l'attenzione su coloro che inseriscono i tuoi dati.
Ottieni dati da Page Markup
Ciò è ottenuto utilizzando i ganci CSS. Fai clic con il tasto destro su una particolare sezione dei tuoi dati. Sposta Firebug o Inspector e fai uno zoom sull'albero DOM per ottenere il massimo che avvolge un singolo oggetto. Una volta ottenuto il nodo corretto dall'albero DOM, visualizzare l'origine della pagina per assicurarsi che i propri elementi siano accessibili in HTML non elaborato.
Per scrivere sul sito con successo, è necessaria una libreria di analisi HTML che legge in HTML e la trasforma in un oggetto che è possibile iterare finché non si ottiene ciò di cui si ha bisogno. Se la tua libreria HTTP richiede che tu imposti alcuni cookie o intestazioni, naviga nel sito sul tuo browser web e ottieni le intestazioni inviate dal tuo browser. Inseriscili in un dizionario e inoltrati con la tua richiesta.
Quando hai bisogno di un login per raschiare
Se devi creare un account e accedere per ottenere i dati desiderati, devi avere una buona libreria HTTP per gestire gli accessi. Il login raschietto ti espone a siti di terze parti.
Se il limite di velocità del servizio Web dipende dall'indirizzo IP, impostare un codice che indirizzi il servizio Web su un Javascript lato client. Quindi inoltra i risultati al tuo server da ciascun client. I risultati sembreranno provenire da così tanti posti e nessuno supererà il loro limite di velocità.
Poorly Formed Markup
Alcuni markup possono essere difficili da validare. In questi casi, scavare nel parser HTML per le impostazioni di tolleranza degli errori. In alternativa, trattare l'intero documento HTML come una stringa lunga e fare una divisione delle stringhe.
Mentre è possibile effettuare il raschiamento di tutti i tipi di dati sulla rete, alcuni siti impiegano software per interrompere lo scraping e altri proibiscono web scraping. Tali siti possono farti causa e persino averti incarcerato per aver raccolto i loro dati. Quindi sii intelligente in tutto il web scraping e fallo in sicurezza.
Post a comment