IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script Bash > Decrypter une page html


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut Script Bash > Decrypter une page html
    Bonjour,

    Pour un projet étudiant je dois créer un script bash qui va me permettre de récupérer chaque jour des fichiers en ligne via HTTPS.
    Pour cela je dois venir me connecter à l'aide d'un curl à une adresse que je nommerais http://test.com/.
    Sur cette adresse, chaque jour est déposé un ou plusieurs fichiers .xml comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <tr><td><a href='https://test.com/fichier1.xml' target='_blank'>file1.xml</a><td>09 April 2019 10:00:00</td><td>1 KB</td></tr>
    <tr><td><a href='https://test.com/fichier2.xml' target='_blank'>file2.xml</a><td>09 April 2019 10:00:00</td><td>1 KB</td></tr>
    <tr><td><a href='https://test.com/fichier3.xml' target='_blank'>file3.xml</a><td>08 April 2019 10:00:00</td><td>1 KB</td></tr>
    Débutant en programmation, je me permets de vous solliciter car j'aimerais pouvoir venir récupérer uniquement les fichiers xml du jour au moment où je lance mon script. Pour cela j'aimerais aussi en + en sortie obtenir une liste des urls utilisées, sur l'exemple ci-dessus et en se disant que nous sommes le 9 avril, j'aimerais obtenir une liste de ce style :

    https://test.com/fichier1.xml
    https://test.com/fichier2.xml

    Une idée ?
    Merci par avance.

    Climux

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Merci par avance.
    Ce n'est pas poli.

    Une idée ?
    Avant le service, on dit "s'il vous plaît".
    Après le service, on dit "merci".
    Dire merci à l'avance signifie que l'autre est un esclave; C'est équivalent à "Merci mon chien".
    Ce n'est pas poli.


    Bon. Tu vas télécharger tes fichiers et en faire la liste.
    Quelle est la difficulté ?
    Qu'as-tu fait ?

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    le XML se traite avec XSLT.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    Citation Envoyé par Climux Voir le message
    je dois (...) curl (...) http://test.com/.
    (...) chaque jour est déposé un ou plusieurs fichiers .xml comme ceci :
    (...) j'aimerais obtenir une liste de ce style :

    https://test.com/fichier1.xml
    https://test.com/fichier2.xml
    un truc comme ça pourrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -sk https://test.com/ | grep -Po "href=.\Khttps://test.com.+?xml"

  5. #5
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Bonjour à tous,

    Tout d'abord merci pour vos retours.

    Citation Envoyé par BufferBob Voir le message
    salut,
    un truc comme ça pourrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -sk https://test.com/ | grep -Po "href=.\Khttps://test.com.+?xml"
    @BufferBob, merci de ton aide, cependant j'aimerais établir la liste uniquement avec les fichiers du jour

  6. #6
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par Climux Voir le message
    j'aimerais établir la liste uniquement avec les fichiers du jour


    tu peux donner un exemple clair de ce que tu as au départ et ce que tu attends à l'arrivée stp ?

  7. #7
    Membre averti
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Désolé si je n'ai pas été clair. Je m'explique :

    J'ai en entrée un fichier .html construit comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table cellspacing='0'><tr><th>LeNom</th><th>LaDate</th><th>LePoids</th></tr>
    <tr><td><a href='https://test.com/truc1.xml' target='_blank'>fichier1.xml</a><td>18 April 2019 10:00:00</td><td>1 KB</td></tr>
    <tr><td><a href='https://test.com/truc2.xml' target='_blank'>fichier2.xml</a><td>18 April 2019 10:00:00</td><td>1 KB</td></tr>
    <tr><td><a href='https://test.com/truc3.xml' target='_blank'>fichier3.xml</a><td>11 April 2019 10:00:00</td><td>1 KB</td></tr>
    Disons que je lance mon script et que nous sommes aujourd'hui le 18 avril, je voudrais donc en sortie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    https://test.com/truc1.xml
    https://test.com/truc2.xml
    En gros, je voudrais parcourir ma page html et prélever uniquement les lien url qui sont à la date du jour.
    Voila

  8. #8
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    ok au temps pour moi, j'avais pas fais gaffe à la date dans la suite de la ligne

    alors on peut imaginer un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -sk https://test.com/ | grep -Po "href=.\Khttps://test.com.+?xml(?=.+18 April 2019)"
    quant à prendre la date du jour, telle qu'elle semble être spécifiée dans l'exemple que tu donnes, on peut touiller ça avec LANG=C date +"%d %A %Y", ce qui à l'arrivée pourrait donner quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    curl -sk https://test.com/ | grep -Po "href=.\Khttps://test.com.+?xml(?=.+$(LANG=C date +'%d %A %Y'))"

Discussions similaires

  1. Réponses: 26
    Dernier message: 15/06/2009, 17h02
  2. lancer script a partir d une page html
    Par nita2006 dans le forum Débuter
    Réponses: 7
    Dernier message: 20/06/2008, 23h09
  3. Appel d'un script js à partir d'une page html
    Par developppez dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 04/06/2008, 20h59
  4. Appeller un script shell dans une page html
    Par Scurz dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/05/2007, 14h50
  5. Exécuter un script perl sur une page HTML
    Par natie_49 dans le forum Web
    Réponses: 13
    Dernier message: 05/03/2007, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo