Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/04/2022, à 15:18

geneyop

[Résolu] wget ne récupère pas la page web

Bonjour,

Je cherche à récupérer la page web suivante avec wget : https://citymapper.com/paris/bus/stops/ … ntrouge_NE
Je lance donc la commande suivante :

wget --output-document='Horaires.html' 'https://citymapper.com/paris/bus/stops/ParisStop_MairieDeMontrouge_NE'

mais le fichier téléchargé ne contient pas les informations qui s'affichent quand on ouvre la même page depuis firefox.

Y a-t-il une option supplémentaire à fournir à wget ?

Merci d'avance de votre aide.

Dernière modification par geneyop (Le 04/04/2022, à 00:22)

Hors ligne

#2 Le 03/04/2022, à 16:04

erresse

Re : [Résolu] wget ne récupère pas la page web

Bonjour,
J'ai fait l'essai de téléchargement avec la commande que tu as listée. Elle semble fonctionner et on obtient un fichier de quelques 2~3Mo.
Apparemment le fichier téléchargé contient bien les informations mais il refuse de s'afficher dans une fenêtre de Firefox. L'écran reste blanc...


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#3 Le 03/04/2022, à 16:18

ylag

Re : [Résolu] wget ne récupère pas la page web

Bonjour,

Au risque de dire un grosse bêtise, c'est peut-être lié à ceci :
Page web dynamique
...versus :
Page web statique

?

Dernière modification par ylag (Le 03/04/2022, à 16:19)

Hors ligne

#4 Le 03/04/2022, à 17:06

geneyop

Re : [Résolu] wget ne récupère pas la page web

Bonjour,
Oui, la commande wget crée bien un fichier HTML de 2 à 3 Mo, mais ce fichier ne contient pas les horaires qui sont affichés avec Firefox.
Et, comme le dit ylag, il s'agit en effet d'une page web dynamique. C'est certainement là le problème : comment faire pour que wget télécharge une page dynamique ?

Hors ligne

#5 Le 03/04/2022, à 17:42

Watael

Re : [Résolu] wget ne récupère pas la page web

utilise cette adresse avec wget
en plus d'être plus à jour.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#6 Le 03/04/2022, à 19:10

geneyop

Re : [Résolu] wget ne récupère pas la page web

Merci Watael, ça pourrait être une bonne idée. Sauf que la ligne de bus qui m'intéresse (475) n'y est pas car il n'est pas géré par la RATP.

Hors ligne

#7 Le 03/04/2022, à 19:24

Watael

Re : [Résolu] wget ne récupère pas la page web

alors, change de ligne. big_smile

chromium --headless --dump-dom 'https://citymapper.com/paris/bus/stops/ParisStop_MairieDeMontrouge_NE' >/tmp/maireiMontrouge_NE.html

il semble que le citymapper reprenne simplement les informations* du PDF  de SQY.

Dernière modification par Watael (Le 03/04/2022, à 20:46)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#8 Le 03/04/2022, à 21:47

geneyop

Re : [Résolu] wget ne récupère pas la page web

Merci encore Watael pour cette suggestion.
En vérité, il y avait quelque chose que je n'avais pas dit (pour ne pas compliquer le post), c'est que ma commande doit tourner sur une Raspberry Pi Zero, donc avec très peu de ressource de calcul. C'est pourquoi j'aimerais passer par un outil simple comme wget plutôt que de lancer tout un navigateur.
Désolé de ne pas avoir été plus clair dès le départ...

Hors ligne

#9 Le 03/04/2022, à 22:10

Watael

Re : [Résolu] wget ne récupère pas la page web

ni wget, ni curl, et aucun navigateur en mode texte, ne gèrent le javascript.

il n'y a q'elinks qui supporte JS, mais il faut le compiler soi-même pour ça.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#10 Le 03/04/2022, à 22:19

beuguissime

Re : [Résolu] wget ne récupère pas la page web

Bonsoir,
J'obtiens ça

wget -U "Mozilla" -q -O - "https://citymapper.com/api/1/departures?headways=1&ids=ParisStop_MairieDeMontrouge_NE&region_id=fr-paris" | jq .stops[0].services[0].next_departures

ce qui donne maintenant

[
  "2022-04-04T06:17:00+02:00",
  "2022-04-04T06:47:00+02:00"
]

Il faut installer jq

Hors ligne

#11 Le 03/04/2022, à 22:37

Watael

Re : [Résolu] wget ne récupère pas la page web

\o/ bravo \o/


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#12 Le 03/04/2022, à 22:49

beuguissime

Re : [Résolu] wget ne récupère pas la page web

Waouh, les bravos de Watael wink

Hors ligne

#13 Le 03/04/2022, à 23:05

Watael

Re : [Résolu] wget ne récupère pas la page web

l'API n'est pas paramétrable pour obtenir du texte ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#14 Le 03/04/2022, à 23:36

beuguissime

Re : [Résolu] wget ne récupère pas la page web

C'est-à-dire? Le json complet contient plusieurs champs mais je n'extrais que les heures des 2 prochains passages.

Hors ligne

#15 Le 03/04/2022, à 23:50

Watael

Re : [Résolu] wget ne récupère pas la page web

l'adresse demande une page qui exécute une API (contrairement à l'adresse donnée par geneyop
.
peut-être, cette API possède-t-elle un paramètre, qui afficherait du texte, plutôt que du JSON, et qui pourrait être traité en shell ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#16 Le 03/04/2022, à 23:55

geneyop

Re : [Résolu] wget ne récupère pas la page web

Whouahhh !
Bravo en effet.
Merci beaucoup Beuguissime.
Et, pour info, comment as-tu fait pour trouver cette nouvelle adresse ?

Hors ligne

#17 Le 03/04/2022, à 23:59

beuguissime

Re : [Résolu] wget ne récupère pas la page web

Ah d'accord.
Je ne sais pas, la page donnée par geneyop appelle cette API. Je ne pense pas que ça a un intérêt pour les dev de prévoir ce cas car le JSON est plus facilement analysable grammaticalement que du texte. Une possibilité offerte par les API est de permettre de choisir les champs retournés mais je ne sais pas si cette API le permet ni quel serait le paramètre correspondant.
Là, on peut toujours ajouter [] à la fin de la commande que je propose et on n'obtient que deux lignes de texte, une pour chaque heure de passage.

Hors ligne

#18 Le 04/04/2022, à 00:02

beuguissime

Re : [Résolu] wget ne récupère pas la page web

geneyop a écrit :

Whouahhh !
Bravo en effet.
Merci beaucoup Beuguissime.
Et, pour info, comment as-tu fait pour trouver cette nouvelle adresse ?

J'ai ouvert la console de débogage de Firefox et j'ai chargé la page que tu cites. Ensuite, il fallait un peu démêler les liens utiles des inutiles (dans l'onglet Réseau/Network). Rien ne disait que ça allait être fructueux.

Hors ligne

#19 Le 04/04/2022, à 00:21

geneyop

Re : [Résolu] wget ne récupère pas la page web

En effet, c'était une bonne idée.
Merci encore pour ton aide.

Hors ligne

#20 Le 04/04/2022, à 00:23

Watael

Re : [Résolu] wget ne récupère pas la page web

beuguissime a écrit :

Je ne pense pas que ça a un intérêt pour les dev de prévoir ce cas car le JSON est plus facilement analysable grammaticalement que du texte.

quand même, parser du texte sans devoir recourir à un programme externe, c'est bien plus simple  !
au moins, plus "direct" !


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne