Devi affrontare questo problema quando fai web scraping – alcuni siti hanno un pulsante “Carica altri” che devi cliccare per paginare o caricare più contenuti. Ma non è facile risolverlo. In questo articolo, ti mostreremo come risolvere facilmente il problema del web scraping con il tasto “carica altro” utilizzando uno strumento di scraping o un metodo Python.
Strumento Senza Codice per Scraping di Pagine con Pulsante Carica Altri
Se non sei un programmatore e non conosci nulla di codifica, ti consigliamo Octoparse come il miglior strumento di web scraping per risolvere il problema del pulsante “Carica più”. È uno strumento gratuito per sistemi Windows e Mac, facile da usare e non richiede alcuna competenza di codifica. Puoi fare scraping praticamente su qualsiasi tipo di sito web grazie alla sua funzione di rilevamento automatico e ai modelli pre-costruiti. Per il pulsante “carica altri”, Octoparse ti permette di impostare la paginazione e lo scroll infinito con il “Loop Item”. Segui i semplici metodi qui sotto per provare.
1. Scraping del Tasto “Carica Altri” con Paginazione
Puoi impostare la paginazione con il pulsante “Carica più” se stai facendo scraping su un sito con più pagine. Alcuni siti lo descrivono anche come Avanti. Octoparse offre una modalità di rilevamento automatico o un modo per impostarlo manualmente. Leggi la guida dettagliata su come gestire la paginazione con il pulsante “Carica altri” o segui i semplici passaggi qui sotto.
Passaggio 1: Iscriviti per un account gratuito e avvia Octoparse. Copia e incolla il link della pagina di destinazione nel pannello principale, e inizierà la modalità di rilevamento automatico per impostazione predefinita.
Passaggio 2: Dopo il rilevamento automatico, Octoparse imposterà la paginazione. Clicca sul tasto “carica altri” nel pannello dei suggerimenti e verifica se è stato individuato correttamente. Se non lo è, puoi cliccare su “Modifica” per scegliere il pulsante giusto. Manualmente, dovrai selezionare il pulsante “Carica Più” sulla pagina web e scegliere l’opzione “Loop” per cliccare su un singolo elemento. Puoi impostare anche un timeout AJAX adeguato.
Passaggio 3: Dopo aver verificato tutti i campi dei dati, esegui il flusso di lavoro che hai appena creato. Otterrai i dati estratti con il funzionamento del pulsante Carica altri.
2. Scorrimento Infinito per Caricare Nuovi Contenuti
Per alcune pagine che hanno un pulsante “Carica altri”, questo caricherà più contenuti sulla stessa pagina ogni volta che clicchi sul tasto carica altri. In questa situazione, puoi facilmente impostare la paginazione con lo scorrimento infinito. Supporta sia il metodo automatico che quello manuale, che sono molto simili ai metodi descritti per il pulsante carica altri.
3. Esempio Reale per Risolvere il Problema del Pulsante Carica Altri con XPath
Un esempio reale di questo tipo di problema proviene da uno dei nostri utenti che non riusciva a estrarre tutti gli articoli di dati da un sito con il pulsante carica altri. Ecco il caso:
Ci ha scritto un’email dicendo:
“Ho bisogno di aiuto per fare scraping su un sito con il pulsante “Mostra altri prodotti”.
Link target: http://dir.indiamart.com/mumbai/industrial-machinery.html
Tipo di dati: 08447563983, Machinery And Spares.
Voglio fare lo scraping dell’intera pagina, compreso il pulsante Mostra altri prodotti”.
Ho creato i passaggi principali e ho allegato le immagini nell’allegato.
Ma questo ha estratto solo 29 dati dalla pagina, voglio che mi dica come aggiungere la funzionalità “carica più” a questo processo.
Inoltre, mi dica di più su come configurare la regola di estrazione.
In attesa di una sua risposta.”
Da questo contenuto dell’email possiamo riassumere due punti chiave del suo problema:
- Pulsante di tipo Carica altri. (Tutorial: Fare scraping su siti con pulsante “carica altri”)
Dobbiamo assicurarci che tutti gli articoli delle pagine web siano visibili dopo aver cliccato ripetutamente sul pulsante carica altri. - Sono stati estratti solo 29 dati.
Dobbiamo verificare l’estrazione mentre il task è in esecuzione con l’estrazione locale e capire qual è il problema.
Quindi, la nostra risposta è la seguente:
Riguardo al pulsante carica altri
Prima di tutto, dobbiamo assicurarci che, nella tua regola, tutti gli articoli di questa pagina web siano visibili scorrendo fino alla fine della pagina e cliccando ripetutamente sul pulsante “carica altri”.
A proposito, a volte il sito continuerà a caricare più articoli quando si scorre fino in fondo alla pagina prima che appaia il pulsante “Carica Più”. Possiamo impostare il tempo di scorrimento e gli intervalli per rendere più fluida l’estrazione.
Riguardo ai dati estratti
Quando vengono estratti solo 29 record di dati, è necessario capire le ragioni per cui l’estrazione si interrompe. Ho controllato il tuo task con l’estrazione locale e ho scoperto che:
- Ci sono delle finestre pop-up durante l’estrazione. In questo caso, devi cliccare manualmente il pulsante di chiusura nel browser integrato. Successivamente, riavvia il task.
- Se l’estrazione è completata senza finestre pop-up, devi determinare il punto in cui l’estrazione si ferma.
Per prima cosa, apri la pagina web che vuoi fare scraping in Firefox. Localizziamo il 28° elemento di dati sulla pagina web – possiamo vedere che si tratta dell’elemento denominato “Mohnot Instruments” in Firefox. Utilizzeremo lo strumento FirePath per trovare l’XPath.
(Impara di più sull’uso di FirePath: Introduzione all’XPath)
In secondo luogo, torna su Octoparse e controlla l’azione Elementi in loop. Nello screenshot qui sotto, viene estratto un elemento chiamato DIV. È evidente che c’è qualcosa di sbagliato con l’XPath originale, e dobbiamo modificarlo manualmente.
Copiamo l’XPath originale e incolliamolo in FireBug. Vedremo che l’XPath originale non è riuscito a estrarre gli elementi a partire dal 29°. In questo caso, dobbiamo modificare l’XPath che usiamo per estrarre tutti gli elementi dalla pagina web.
Terzo, otteniamo l’XPath della sezione dell’elemento 29 sulla pagina web.
Quarto, l’XPath corretto dovrebbe essere: .//*[contains(@id,’LST’)]
Dopo aver modificato l’XPath e averlo salvato, vedrai che più di 32 elementi verranno estratti nel ciclo.
Non dimenticare di tenere d’occhio il browser integrato durante l’estrazione e assicurati che il flusso di lavoro stia funzionando correttamente.
Attraverso questo esempio, abbiamo imparato come fare scraping da un sito web con il tasto Carica altri e come modificare l’XPath per estrarre tutti gli elementi di dati dalla pagina web.
Risolvere il problema del Pulsante Carica Altri con Python
“Come fare scraping su un sito web che ha il pulsante ‘Carica più’ per caricare più contenuti sulla pagina?”
Potresti avere la stessa domanda che si trova su Stackoverflow. Sebbene tu sappia qualcosa di programmazione, potresti comunque trovare risposte e discussioni su questa questione. Tuttavia, ti consigliamo comunque di provare Octoparse se sei ancora confuso a riguardo.