Aller au contenu

[script][besoin d'aide pour parser]


tyrann27

Messages recommandés

Hello,

J'essaye de faire un script qui me pompe tout ce qu'il y a sur une page.

L'astuce est que je n'ai besoin que de certains fichiers (pour le boulot).

Comme il y a en moyenne 50 fichiers a télécharger, cliquer 50fois c'est lourd...

Donc je download l'index.html, et je le découpe pour récupérer les fichier dont j'ai besoin...

Jusque la, pas de problème...

cat index.html | grep -i "gestcom"

Et j'ai mon code html, mais je dois récupérer l'adresse exacte...

Voici le type de ligne par fichier :

<img src="/icons/unknown.gif" alt="[   ]"> <a href="ADRESSE A CHOPER">Nom du fichier</a> 07-Jan-2007 05:57   taille

Donc en fait, j'aimerais trouver un moyen de choper a partir du herf=" jusqu'au " qui suit.

Je tiens vraiment a ne pas faire un système de colonne en comptant les " ou les espaces car le code n'est pas toujours identique car il vient de serveurs différents...

Voili voilou, merci d'avance si vous pouvez m'aider :francais:

Lien vers le commentaire
Partager sur d’autres sites

Hello,

J'essaye de faire un script qui me pompe tout ce qu'il y a sur une page.

L'astuce est que je n'ai besoin que de certains fichiers (pour le boulot).

Comme il y a en moyenne 50 fichiers a télécharger, cliquer 50fois c'est lourd...

Donc je download l'index.html, et je le découpe pour récupérer les fichier dont j'ai besoin...

Jusque la, pas de problème...

cat index.html | grep -i "gestcom"

Et j'ai mon code html, mais je dois récupérer l'adresse exacte...

Voici le type de ligne par fichier :

<img src="/icons/unknown.gif" alt="[   ]"> <a href="ADRESSE A CHOPER">Nom du fichier</a> 07-Jan-2007 05:57   taille

Donc en fait, j'aimerais trouver un moyen de choper a partir du herf=" jusqu'au " qui suit.

Je tiens vraiment a ne pas faire un système de colonne en comptant les " ou les espaces car le code n'est pas toujours identique car il vient de serveurs différents...

Voili voilou, merci d'avance si vous pouvez m'aider :francais:

maListeDUrl=$(sed -e "s/.*href=\"\([^"]*\)\".*/\1/g")

Ca devrait le faire (j'ai pas de shell sous la main pour vérifier)

En gros, ca te choppe toute la ligne, sauf que le contenu coincé dans les " du href, il est stocké dans une variable de sed, et tout la ligne est remplacé par cette variable ensuite (par l'appel de \1, qui est la variable sed)

Par contre, il faut bien que les href soient encadré par des " "

EDIT : correction du .* de selection par un [^\"] de fort bon aloi

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...