# \[traitement de page web\]aide pour script

**URL:** <https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223 "2016-02-20T21:38:13Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/1 "2016-02-20T21:38:13Z")

</div>

Bonsoir.  
Je suis en train d’essayer d’écrire un script me permettant de récupérer des paroles de chanson. voici où j’en suis :

[code]#!/bin/sh  
#script pour trouver les paroles jouées par mpd

#votre navigateur préféré  
NAVIGATEUR=«&nbsp;surf&nbsp;»  
#on regarde si mpd joue  
if [«&nbsp;$(ps axo comm |grep mpd)&nbsp;» = «&nbsp;mpd&nbsp;»] && [«&nbsp;$(mpc |grep ‹&nbsp;playing&nbsp;›)&nbsp;» != «&nbsp;&nbsp;»]; then

```
TITLE="$(mpc | head -n 1 |cut -d - -f2 |sed 's/ /+/g' |sed 's/+//')"
ARTIST="$(mpc | head -n 1 |cut -d - -f1 |sed 's/ /+/g')"
	#on récupère le code de la page
wget http://api.leoslyrics.com/api_search.php?auth=duane'&'songtitle=$TITLE'&'artist=$ARTIST -O /tmp/RESULT
REFERENCE_PAGE="$(cat /tmp/RESULT | grep hid |awk '{print $3}' | sed 's/hid=//g' | sed 's/\"//g')"
	#on récupère les paroles
wget http://www.leoslyrics.com/listlyrics.php?hid=$REFERENCE_PAGE -O /tmp/lyrics

```

fi

[/code]  
Mon problème est le suivant : je parviens à obtenir l’adresse de la page où sont situées les paroles. Maintenant, comment puis-je les récupérer en format texte? Car si je fais comme dans le script actuel, un simple wget adresse\_de\_la\_page , ben je récupère quelque chose de bien bizarre.

Déja que je débute pour les scripts, j’ai beaucoup de mal avec le langage web…  
Quelqu’un aurait une méthode sous la main?  
Merci d’avance ![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)

ps : je sais, c’est pas propre du tout mes sed, cut et tout mélangé, mais j’essaie d’abord d’avoir quelque chose qui marche, puis je l’améliorerais à l’avenir. Quand j’en saurais plus aussi 😛 )

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/2 "2016-02-20T21:38:14Z")

</div>

J’ai avancé un petit peu, mais là je coince. Il faudrait que je puisse afficher le texte qui se trouve seulement entre les ballises et . Et j’ai beau chercher…  
désolé de la médiocrité du script… :

[code]#!/bin/sh  
SB="#D4D4D4"  
SF="#1C1918"  
NB="#251C1A"  
NF="#D4D4D4"  
#script pour trouver les paroles jouées par mpd

#votre navigateur préféré  
NAVIGATEUR=“surf”  
#on regarde si mpd joue  
if [“$(ps axo comm |grep mpd)” = “mpd”] && [“$(mpc |grep ‘playing’)” != “”]; then

```
TITLE="$(mpc | head -n 1 |cut -d - -f2 |sed 's/ /+/g' |sed 's/+//')"
ARTIST="$(mpc | head -n 1 |cut -d - -f1 |sed 's/ /+/g')"
	#on récupère le code de la page
wget http://api.leoslyrics.com/api_search.php?auth=duane'&'songtitle=$TITLE'&'artist=$ARTIST -O /tmp/RESULT
REFERENCE_PAGE="$(cat /tmp/RESULT | grep hid |awk '{print $3}' | sed 's/hid=//g' | sed 's/\"//g')"
	#on récupère les paroles
wget http://api.leoslyrics.com/api_lyrics.php?auth=duane'&'hid=$REFERENCE_PAGE -O /tmp/PAROLESXML
On les affiche dans dmenu
cat /tmp/PAROLESXML | dmenu -fn 'fixed' -nb $NB -nf $NF -sb $SB -sf $SF -l 30

```

fi

[/code]

---

<div class="post-metadata">

**Author:** ![eol](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/e/b782af/32.png) [@eol](https://www.debian-fr.org/u/eol)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/3 "2016-02-20T21:38:18Z")

</div>

Utilise html2text (paquet du même nom), ce sera beaucoup plus facile de faire des opérations sur du texte que sur de l’html.

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/4 "2016-02-20T21:38:21Z")

</div>

Merci du tuyau, je vais regarder 🙂

---

<div class="post-metadata">

**Author:** ![Hoshin](https://www.debian-fr.org/user_avatar/www.debian-fr.org/hoshin/32/3672_2.png) [@Hoshin](https://www.debian-fr.org/u/Hoshin)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/5 "2016-02-20T21:38:25Z")

</div>

Eventuellement regarder du côté de xslt sinon, voire s’il existe une appli deb (xmllint ?) ou tout simplement une façon simple de faire joujou avec (template générique + inclusion du xml récupéré par exemple, et après avec 2 ou 3 manips tu devrais récupérer ce qui t’intéresse). Faut voir quelle est la chose la plus pratique pour toi.

---

<div class="post-metadata">

**Author:** ![kna](https://www.debian-fr.org/user_avatar/www.debian-fr.org/kna/32/5623_2.png) [@kna](https://www.debian-fr.org/u/kna)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/6 "2016-02-20T21:38:37Z")

</div>

Tu peux aussi utiliser links :

```auto

```

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/7 "2016-02-20T21:38:38Z")

</div>

Merci pour toutes vos pistes! j’ai du pain sur la planche. Le but reste de transformer une page afin d’en extraire seulement les informations intéressantes.

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/8 "2016-02-20T21:38:39Z")

</div>

Juste une simple question en rapport avec ce que tu souhaite faire pourquoi fais-tu cela en bash est-ce pour l’apprentissage du langage ou juste que tu ne sais pas si l’on peux le faire plus facilement avec un autre ?

Si c’est la deuxième solution alors regarde un peu Perl et WWW::Mechanize

[search.cpan.org/~petdance/WWW-Me … chanize.pm](http://search.cpan.org/~petdance/WWW-Mechanize-1.60/lib/WWW/Mechanize.pm)

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/9 "2016-02-20T21:38:39Z")

</div>

C’est parce que c’est le seul langage que je “maitrise” un petit peu. 😊  
Et je n’ai pas encore eu suffisamment de temps ( ni pris le temps) pour apprendre rigoureusement le scripting shell, le c, et ainsi passer à d’autres langages.

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/10 "2016-02-20T21:38:40Z")

</div>

Ne t’inquiète pas ce n’est pas une critique juste pour comprendre. Amuse toi bien en shell si tu le désire. Ceci dit maintenant tu sais qu’il y a une autre manière de faire plus simple il n’appartient qu’à toi de persister dans l’apprentissage de ta connaissance par la continuité de ton action ou de passer à autre chose.

Amuse toi bien et bon courage 😉

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/11 "2016-02-20T21:38:41Z")

</div>

En même temps pour l’instant je ne vais pas faire des choses incroyables, donc le shell me convient. Mais avec le temps je verrasi d’autres choses 🙂 .

---

<div class="post-metadata">

**Author:** ![Hoshin](https://www.debian-fr.org/user_avatar/www.debian-fr.org/hoshin/32/3672_2.png) [@Hoshin](https://www.debian-fr.org/u/Hoshin)\
**Post date:** [Février 20, 2016, 9:38 UTC](https://www.debian-fr.org/t/traitement-de-page-web-aide-pour-script/25223/12 "2016-02-20T21:38:50Z")

</div>

Ah … perl … la tronçonneuse suisse des langages de prog 😛
