Estrazione di dati da una pagina Web con più pagine di tabellaEhi gente,
Sto estraendo dati da una pagina web ma riscontro un problema, non posso fornire l'indirizzo web a causa dell'IP.
quando tiro la pagina apre una tabella ma non tutte le righe - apre le prime 1000 righe:

open("URL", HTML Table(2));Il problema è che ha 3 pagine se ha senso vedere la schermata

la mia domanda è come faccio a tirare le prossime due pagine?
Grazie
ScriptingRi: estrarre dati da una pagina Web con più pagine di tabellaQuando selezioni la pagina successiva del sito Web in un browser, l'URL cambia in modo che tu possa decifrarlo? In tal caso, puoi eseguire lo script aperto più volte, uno per ogni pagina/URL, quindi utilizzare il comando Concatenate() per riunire tutte le tabelle.
Ri: estrarre dati da una pagina Web con più pagine di tabellaHo provato questo l'URL rimane lo stesso, ho provato page=2. Sfortunatamente poiché è un sistema interno che non posso condividere
Ri: estrarre dati da una pagina Web con più pagine di tabellaCi sono diversi approcci, oltre al @Jed_Campbell idea (che è la più semplice se la barra degli indirizzi del browser mostra un cambio di indirizzo in modo prevedibile.)
0. Se il sito fornisce un'API, possibilmente per riposo servizi, che sarà la scelta migliore. Forse puoi chiedere al proprietario del sistema un'API.
o, 1. Usa F12 nel tuo browser (sto usando FireFox, ma Chrome e Edge sono simili). Scegli la scheda di rete che mostra ciò che viene inviato sulla rete. Fare clic sul pulsante della pagina successiva sul sito Web e iniziare a studiare le richieste inviate. È difficile dire con certezza cosa stai cercando, ma spesso saranno dati JSON. Vedrai se era un POST o GET e che tipo di intestazioni sono state utilizzate. Se c'è una scelta, JSON sarà probabilmente migliore di HTML.
o, 2. Questo sarà significativamente più difficile, ma spesso funzionerà quando altre scelte falliscono. Script del browser con Python Selenium
Raschiare i dati dalle pagine Web è difficile nel migliore dei casi. Nel peggiore dei casi, alcuni siti cercano attivamente di impedire il funzionamento dei bot automatizzati, generalmente rilevandoli non un vero browser O non un vero essere umano . I siti che non aggiornano la barra degli indirizzi utilizzano una sorta di protocollo simile ad ajax con JavaScript; che verrà visualizzato nella finestra F12, forse con un URL e intestazioni facili da decodificare. A volte con un cookie o parametri codificati o password.
JMP ha una gestione speciale per le tabelle HTML, ma potrebbe non funzionare a meno che non ci sia un semplice URL che restituisca ogni pagina come HTML con una tabella. JMP dispone anche di procedure guidate per l'importazione di JSON, XML e CSV che potrebbero essere utili.
Ri: estrarre dati da una pagina Web con più pagine di tabellaSe nella pagina Web è presente JavaScript per migliorare la richiesta della conversione dell'algoritmo di timestamp, come utilizzare JSL per implementare questo algoritmo JavaScript, in modo che JSL possa scaricare i dati Web senza problemi?
Grazie Craig!

Ri: estrarre dati da una pagina Web con più pagine di tabellaUn'API adeguata sarà sempre la scelta migliore. Un'API restituirà i dati, in genere come JSON, senza altri artefatti fastidiosi come popup,
, ecc. Le API a volte sono
riposo Servizi.
Alcuni siti Web non vogliono essere sottoposti a scraping perché perdono denaro quando gli annunci non vengono visualizzati e la larghezza di banda costa denaro e potrebbero dover pagare per l'accesso ai dati che trasmettono. Se il sito desidera assicurarsi che un essere umano stia utilizzando un vero browser per accedere ai dati, l'utilizzo di Selenium potrebbe violare i termini di servizio per lo scraping dei robot. La ricerca di un browser in grado di eseguire JavaScript è uno dei controlli che un sito può eseguire. Un browser controllato da Selenium esegue JavaScript proprio come un normale browser.
Senza Selenium, quando usi Open() o LoadTextFile() per leggere un URL, non c'è browser. Il JavaScript è solo una parte del testo che viene restituito, non eseguito (proprio come l'HTML è parte del testo che viene restituito, non visualizzato sul display).
https://www.google.com/search?q=use+selenium+to+run+javascript - un mucchio di idee se hai davvero bisogno di eseguire un po' di Javascript: JSL->Python->Selenio->JavaScript.
Ri: estrarre dati da una pagina Web con più pagine di tabellaGrazie Craig!
Ri: estrarre dati da una pagina Web con più pagine di tabellaNon l'ho fatto da solo, ma credo che tu possa utilizzare JMP per eseguire Selenium per caricare la pagina con il codice JavaScript e quindi utilizzare Selenium per chiamare le funzioni JavaScript da JMP . Oppure puoi semplicemente usare Selenium per gestire la pagina. Non proverei a convertire una funzione JavaScript in JSL. JSL + Python + Selenium nel post del blog sta facendo praticamente quello che stai descrivendo ... un robot che utilizza un vero browser per raschiare una pagina web, fornendo anche una password.Ri: estrarre dati da una pagina Web con più pagine di tabellaOk, capisco, ho studiato attentamente il tuo post sul blog.
Grazie Craig!