Vai al contenuto principale

Impaginazione (senza tasto Avanti)

Aggiornato più di un anno fa

Se stai seriamente cercando di eseguire lo scraping su un sito web, potrebbe essere necessario navigare nelle diverse pagine del sito web ed estrarre i dati da ciascuna pagina. Il primo passo è identificare il modo d'impaginazione del sito e lavorare da lì. Alcuni esempi sono:

  • Impaginazione con un tasto Avanti

  • Impaginazione senza un tasto Avanti

  • Impaginazione con scorrimento infinito

  • Impaginazione con un tasto Carica altro

In questo tutorial, ci concentreremo su come creare un'azione di impaginazione quando non è presente il pulsante della pagina successiva sulla pagina. Più specificamente, uno che richiede di fare clic sui link numerati quando si desidera voltare pagina, come quelli seguenti.

dwpnnb2.png

dwpnnb1.png

Esploriamo come creare un'azione di impaginazione senza il pulsante della pagina successiva in Octoparse.


1. Creare impaginazione con rilevamento automatico

Con la funzione di rilevamento automatico, Octoparse eseguirà automaticamente la scansione della pagina web alla ricerca di dati e link di impaginazione. Può essere attivato nelle impostazioni per avviare automaticamente il processo di rilevamento automatico ogni volta.

dwpnnb3.png

Se Octoparse rileva eventuali link di impaginazione sulla pagina web, ci sarà un'opzione di impaginazione nel pannello dei suggerimenti al completamento del processo di rilevamento automatico. Puoi fare clic su Check (controlla) per vedere il collegamento rilevato da Octoparse o fare clic su Edit (modifica) per modificare il link se non è corretto.

dwpnnb4.png

Come tutti sappiamo, le pagine web sono disponibili in molte forme diverse. Il rilevamento automatico a volte non riesce a rilevare i link di impaginazione o rileva i collegamenti sbagliati. In questo caso, puoi ricorrere a una delle soluzioni seguenti.


2. Utilizzare il Batch Generate per creare URL per tutte le pagine

Un modo alternativo molto efficace per affrontare lo scraping di più pagine di un sito web è raccogliere prima gli URL di tutte le pagine necessarie per l'estrazione dati e creare un'attività utilizzando la lista degli URL raccolti.

Guarda con attenzione gli URL delle pagine web per le diverse pagine. Noti qualcosa del genere?

dwpnnb5.png

Se vedi uno schema simile all'esempio sopra, con solo il numero di pagina che cambia negli URL delle diverse pagine, puoi facilmente generare in batch tutti gli URL delle pagine e scansionare tutte le pagine necessarie. Una volta generati i link, Octoparse procederà a raschiare automaticamente tutte le pagine.


3. Creare manualmente l'impaginazione

Anche se il rilevamento automatico non funziona o gli URL delle pagine non mostrano uno schema, puoi comunque creare manualmente un'azione di impaginazione.

Sarà un processo in due fasi:

PASSAGGIO 1: scrivi/trova l'XPath dell'elemento della pagina che ti porta alla pagina successiva (ad esempio, se sei a pagina 1, allora vorresti fare clic su pagina 2; se sei a pagina 2, allora vorresti fare clic su pagina 3, e così via).

PASSAGGIO 2: rivedi l'XPath dell'impaginazione nel flusso di lavoro in Octoparse.

Nota: la conoscenza di XPath non è obbligatoria ma è estremamente utile per creare un'attività che faccia esattamente ciò di cui hai bisogno in Octoparse. Scopri Cos'è XPath e come usarlo in Octoparse per saperne di più sull'utilizzo di XPath per creare il web scraper perfetto.

Sembra complicato? Nessun problema, tuffiamoci in un esempio.

Per proseguire, sarebbe necessario utilizzare il link seguente:

  • Cliccare sulla sezione di impaginazione nella pagina web e fare clic su Loop click (clic ciclico)

  • Ottenere l'XPath corretto

- Copia e incolla l'URL della pagina corrente (http://www.enzolifesciences.com/product-listing/?product_type=Antibodies&application=&text=) nel tuo browser (ad esempio il Chrome).

Nota: è necessario installare uno strumento aggiuntivo del browser chiamato XPath Helper.

- Fare clic su per avviare XPath Helper nel browser.

dwpnnb7.png

- Individuare i numeri di pagina sulla pagina web, fare clic con il pulsante destro del mouse sulla pagina 1 e seleziona l'opzione Ispeziona.

dwpnnb8.png

- Quando si arriva a questo passo, lo schermo dovrebbe assomigliare a quello sottoposto. Il codice evidenziato corrisponde al link a pagina 1.

dwpnnb9.png

- Successivamente, fare clic con il pulsante destro del mouse sul codice evidenziato, seleziona Copia, quindi Copia XPath. Hai appena copiato l'XPath della pagina 1.

dwpnnb10.png

Questo è l'XPath copiato:

//*[@id="cs2-pagebrowsertop"]/div/div[2]/table/tbody/tr/td[3]/b

- Dal codice sorgente puoi scoprire che la pagina 2 si trova una riga sotto l'elemento page-1.

dwpnnb11.png

Con la sintassi XPath following-sibling, che tiene traccia del nodo successivo lungo la riga, è possibile modificare l'XPath copiato per l'elemento page-1 in uno che segue la pagina successiva (page-2 in questo caso).

L'XPath corretto che individua sempre la pagina successiva della pagina attuale sarebbe:

//*[@id="cs2-pagebrowsertop"]/div/div[2]/table/tbody/tr/td[3]/b/following-sibling::a[1]

Nota: aggiunto /following-sibling::a[1] alla fine dell'XPath precedente, ora cerca il primo elemento href (a[1]) dopo l'elemento prima pagina.

Inserisci l'XPath corretto nella sezione Query dell'XPath Helper e scoprirai che la pagina 2 è posizionata correttamente da questo XPath.

dwpnnb12.png

  • Cambiare l'XPath esistente con il nuovo XPath

Copia e incolla il nuovo Xpath sotto l'impaginazione, poi fai clic su Applica per confermare.

dwpnnb13.png

Hai ricevuto la risposta alla tua domanda?