Extraire des données d'une page Web avec plusieurs pages de tableauSalut les gens,
J'extrait des données d'une page Web, mais je rencontre un problème, je ne peux pas fournir l'adresse Web en raison de l'adresse IP.
quand je tire la page, il ouvre une table mais pas toutes les lignes - il ouvre les 1000 premières lignes :

open("URL", HTML Table(2));Le problème est qu'il a 3 pages si cela a du sens voir capture d'écran

ma question est comment puis-je tirer les deux prochaines pages?
Merci
ScriptRe : Extraire des données d'une page Web avec plusieurs pages de tableauLorsque vous sélectionnez la page suivante sur le site Web dans un navigateur, l'URL change-t-elle d'une manière que vous pouvez déchiffrer ? Si tel est le cas, vous pouvez exécuter votre script ouvert plusieurs fois, une pour chaque page/URL, puis utiliser la commande Concatenate() pour rassembler toutes les tables.
Re : Extraire des données d'une page Web avec plusieurs pages de tableauJ'ai essayé ceci, l'URL reste la même, j'ai essayé page=2. Malheureusement, comme c'est un système interne, je ne peux pas partager
Re : Extraire des données d'une page Web avec plusieurs pages de tableauIl existe plusieurs approches, en plus de la @Jed_Campbell idée (ce qui est le plus simple si la barre d'adresse du navigateur affiche un changement d'adresse de manière prévisible.)
0. Si le site fournit une API, éventuellement pour repos services, ce sera le meilleur choix. Vous pouvez peut-être demander au propriétaire du système une API.
ou, 1. Utilisez F12 dans votre navigateur (j'utilise FireFox, mais Chrome et Edge sont similaires). Choisissez l'onglet réseau qui vous montre ce qui est envoyé sur le réseau. Cliquez sur le bouton de la page suivante sur le site Web et commencez à étudier les demandes qui sont envoyées. Il est difficile de dire avec certitude ce que vous recherchez, mais il s'agira souvent de données JSON. Vous verrez s'il s'agissait d'un POST ou d'un GET et quel type d'en-têtes ont été utilisés. S'il y a un choix, JSON sera probablement meilleur que HTML.
ou, 2. Ce sera beaucoup plus difficile, mais cela fonctionnera souvent lorsque les autres choix échoueront. Script de navigateur avec Python Selenium
Récupérer les données des pages Web est difficile dans le meilleur des cas. Dans le pire des cas, certains sites tentent activement d'empêcher les bots automatisés de fonctionner, généralement en détectant pas un vrai navigateur ou pas un vrai humain . Les sites qui ne mettent pas à jour la barre d'adresse utilisent une sorte de protocole de type ajax avec JavaScript ; qui apparaîtra dans la fenêtre F12, peut-être avec une URL et des en-têtes faciles à décoder. Parfois avec un cookie ou des paramètres codés ou un mot de passe.
JMP a une gestion spéciale pour les tableaux HTML, mais cela peut ne pas fonctionner pour vous à moins qu'il n'y ait une URL simple qui renvoie chaque page au format HTML avec un tableau. JMP dispose également d'assistants d'importation JSON, XML et CSV qui pourraient vous aider.
Re : Extraire des données d'une page Web avec plusieurs pages de tableauS'il y a JavaScript dans la page Web pour améliorer la demande de conversion de l'algorithme d'horodatage, comment utiliser JSL pour implémenter cet algorithme JavaScript, afin que JSL puisse télécharger les données Web en douceur ?
Merci Craig!

Re : Extraire des données d'une page Web avec plusieurs pages de tableauUne API appropriée sera toujours le meilleur choix. Une API renverra les données, généralement au format JSON, sans autres artefacts gênants comme les popups,
, etc. Les API sont parfois
repos prestations de service.
Certains sites Web ne veulent pas être supprimés car ils perdent de l'argent lorsque les publicités ne sont pas visionnées et que la bande passante coûte de l'argent et qu'ils peuvent avoir à payer pour accéder aux données qu'ils transmettent. Si le site veut s'assurer qu'un humain utilise un vrai navigateur pour accéder aux données, l'utilisation de Selenium pourrait violer ses conditions de service pour le grattage de robots. La recherche d'un navigateur capable d'exécuter JavaScript est l'une des vérifications qu'un site peut effectuer. Un navigateur contrôlé par Selenium exécute JavaScript comme un navigateur normal.
Sans Selenium, lorsque vous utilisez Open() ou LoadTextFile() pour lire une URL, il n'y a pas de navigateur. Le JavaScript n'est qu'une partie du texte renvoyé, non exécuté (tout comme le HTML fait partie du texte renvoyé, non rendu à l'écran.)
https://www.google.com/search?q=use+selenium+to+run+javascript - un tas d'idées si vous avez réellement besoin d'exécuter du Javascript: JSL->Python->Sélénium->JavaScript.
Re : Extraire des données d'une page Web avec plusieurs pages de tableauMerci Craig!
Re : Extraire des données d'une page Web avec plusieurs pages de tableauJe ne l'ai pas fait moi-même, mais je pense que vous pouvez utiliser JMP pour exécuter Selenium afin de charger la page avec le code JavaScript, puis utiliser Selenium pour appeler des fonctions JavaScript à partir de JMP . Ou vous pouvez simplement utiliser Selenium pour faire fonctionner la page. Je n'essaierais pas de convertir une fonction JavaScript en JSL. Le JSL + Python + Selenium dans le billet de blog fait à peu près ce que vous décrivez ... un robot utilisant un vrai navigateur pour gratter une page Web, fournissant même un mot de passe.Re : Extraire des données d'une page Web avec plusieurs pages de tableauOk, je vois, j'ai étudié attentivement votre article de blog.
Merci Craig!