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 :

Sed - Récupération de values dans un code source HTML


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 59
    Points
    59
    Par défaut Sed - Récupération de values dans un code source HTML
    Bonjour,

    Je cherche à récuperer dans une page HTML certaines occurences.

    Exemple :

    <input id="ref-123" value="http://bob.example.com/toto.jpg" />
    <input id="ref-345" value="http://bob.example.com/tata.jpg" />

    Je cherche à récupérer, pour les input d'où l'id commence par ref-, le nom de l'image, soit toto et tata.

    J'ai essayé un script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget mapage.html | grep 'id="ref-' | sed -e 's/bob.example.com\/\/([a-zA-Z]*).jpg/\1/'
    Bon ca fonctionne pas, mais je me doute que je suis pas loin.

    Qu'en pensez vous ?

    Merci pour votre aide

  2. #2
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget mapage.html | grep -o 'id="ref-[^>]*' | sed 's#.*http[^"]*/\([^.]*\)\..*#\1#'
    Sous réserve que les id="ref- n'existent pas ailleurs que dans les balises "<input.../>"
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 59
    Points
    59
    Par défaut
    Top

    Merci beaucoup

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 59
    Points
    59
    Par défaut
    Question par curiosité :

    SI je voulais récupérer par exemple :
    http://bob.example.com/toto.jpg

    Comment je m'y prend ?

    Merci beaucoup

  5. #5
    Expert éminent

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Points : 6 276
    Points
    6 276
    Par défaut
    Récupérer quoi ? Dans quel contexte ?
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 59
    Points
    59
    Par défaut
    SI au lieu de récupérer toto ou tata, je souhaite récupérer tout ce qu'il y a dans value ?

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 258
    Points : 13 510
    Points
    13 510
    Par défaut
    Perso je ne me casse pas le tronc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget mapage.html | grep -o http.*jpg
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 59
    Points
    59
    Par défaut
    Du coup en faisant un mixte, je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wget mapage.html | grep 'id="ref-' | grep -o http://.*.jpg
    Merci beaucoup

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 299
    Points : 12 783
    Points
    12 783
    Par défaut
    Bonjour,

    Pour ceux que cela intéresse, il est aussi possible de le faire avec un seul grep:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ cat testgrep.html
    <input id="ref-123" value="http://bob.example.com/toto.jpg" />
    <input id="ref-123" value="http://bob.example.com/totu.jpg" />
    <input it="ref-345" value="http://bob.example.com/tita.jpg" />
    <input id="reg-345" value="http://bob.example.com/tuta.jpg" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ cat testgrep.html | grep -o -P 'id="ref-.* value="\K[^"]*(?=")'
    http://bob.example.com/toto.jpg
    http://bob.example.com/totu.jpg
    Pour les exemples ci-dessus, on peut simplifier en retirant de l'expression '(?=")'
    mais l'expression est bien plus précise avec.
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Vb auto récupération de valeur dans le code source de plusieurs pages web
    Par Supremereboot dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 20/04/2011, 12h36
  2. Rechercher un terme dans un code source HTML
    Par Jerome.Ecare dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 13/02/2009, 17h21
  3. Réponses: 2
    Dernier message: 27/10/2008, 13h50
  4. Réponses: 8
    Dernier message: 15/07/2006, 18h59
  5. Affichage de caractère spéciaux absent dans le code source
    Par HNT dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 03/11/2005, 22h38

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