# Script "allocine" - wget & Cie

**URL:** <https://www.debian-fr.org/t/script-allocine-wget-cie/33276>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276 "2016-02-21T02:57:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/1 "2016-02-21T02:57:04Z")

</div>

Bonsoir à tous,

J’aimerai faire un script qui me listerai certaines infos du site [allocine.fr](http://allocine.fr)

Ces infos concernent la rubrique “Agenda DVD”.

Je voudrais afficher en console les sorties DVD de la semaine courante avec les infos du film qui vont avec.

Pour commencer, je récupère le code source de la page avec `wget -qO- http://www.allocine.fr/dvd/agenda/`

Mais après?? Peut être à coup de sed, ou autre??  
Je me dis que le code source récupéré est la matière mais comment aborder la suite??

Merci d’avance

---

<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 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/2 "2016-02-21T02:57:04Z")

</div>

J’ai aucune idée de comment tu voudras formater la sortie, mais avec lynx tu peux faire quelquechose dans le genre :`$ lynx -dump http://www.allocine.fr/dvd/agenda/ |sed '1,/Sorties/d' |sed '/DVD\ &\ Blu-ray/q' |less`

---

<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 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/3 "2016-02-21T02:57:05Z")

</div>

w3m le fait aussi, comme la plupart des navigateurs textes.  
Après comme le dit eol, tout dépend ce que tu veux récupérer exactement comme info.

Sais-tu que allociné a un flux rss consacré aux sorties dvd?

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/4 "2016-02-21T02:57:06Z")

</div>

Merci pour vos réponse!!

Allociné propose effectivement des flux rss mais pas pour leur rubrique «&nbsp;agenda sorties DVD&nbsp;»

C’est vrai, j’ai oublié l’option «&nbsp;dump&nbsp;» de lynx et w3m

Je vais voir cette piste, merci

Je laisse le post en suspens, m’étonnerai qeu je trouve du premier coup ![:033](https://www.debian-fr.org/uploads/default/original/1X/42cd8bd0447ecac24cdff1e26fa990a5c8442791.gif "petard")

---

<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 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/5 "2016-02-21T02:57:07Z")

</div>

En tout cas Sed est ton ami sur ce coup là.  
on pourraît remplacer les sed de mon premier post par :`sed '1,/Sorties/d;/DVD\ &\ Blu-ray/q'`C’est plus compact et évite un pipe.

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/6 "2016-02-21T02:57:08Z")

</div>

Merci beaucoup!!

je suis quelques tutos par ci par là sur sed mais ça n’est pas très évident!

Un coup de main est toujours appréciable, en tout cas je profite de ton «&nbsp;sed compacte&nbsp;» pour comprendre ton fonctionnement ![:115](https://www.debian-fr.org/uploads/default/original/1X/f0b4ead290aa124671b5f77e5c5e1073057a630b.gif "eureka")

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/7 "2016-02-21T02:57:26Z")

</div>

A noter que le résultat est plus propre avec w3m (pas de numéros de liens par exemple)

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/8 "2016-02-21T02:57:26Z")

</div>

Problème résolue ? (tu clique sur la coche 🙂 ?)

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:57 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/9 "2016-02-21T02:57:26Z")

</div>

Bah pas vraiment, je teste, je tente, je tatonne…j’apprend!!

Je le laisse ouvert un peu ![:115](https://www.debian-fr.org/uploads/default/original/1X/f0b4ead290aa124671b5f77e5c5e1073057a630b.gif "eureka")

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 2:58 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/10 "2016-02-21T02:58:30Z")

</div>

Bonsoir,  
j’avais zapé ce sujet 😒

```auto
#!/bin/bash
film=false
titre=""
while read
do
  [[${REPLY} == *picturezone*]] && film=true
  [[${REPLY} == De\ \<a*]] && auteur=$(IFS='<>' infos=( ${REPLY} ); echo ${infos[2]})
  [[${REPLY} == Avec\ \<a*]] && acteurs="$(sed 's/<a[^<]*>//g; s#</a>##g' <<< "${REPLY#Avec }")"
  [[${REPLY} == *Date\ de\ sortie*]] && dateSortie="${REPLY#*: }" || {
	  ${film} && [[${REPLY} != *\<*\>*]] && {
		  if [[! ${titre}]] 
		  then
			titre="${REPLY}"
		  else
			if [[! ${typeFilm}]] 
			then
				typeFilm="${REPLY}"
			else
			   cat <<EOF
Titre=${titre}
Type=${typeFilm}
Date Sortie=${dateSortie}
De=${auteur}
Avec=${acteurs}
Résumé=${REPLY}
EOF
				film=false
				titre=""
				typeFilm=""
			fi
		  fi 
	}
}
done < <(wget -qO- http://www.allocine.fr/dvd/agenda/)
```

Sortie :

> [@script](#):
>
> Titre=L’Agence  
> Type=Science fiction  
> Date Sortie=26/07/2011  
> De=George Nolfi  
> Avec=Matt Damon, Emily Blunt  
> Résumé=Sommes-nous maîtres de notre destin ? Ou sommes-nous manipulés par des forces invisibles ? David Norris entrevoit l’avenir que le Sort lui réserve et …  
> Titre=Red Eagle  
> Type=Action  
> Date Sortie=26/07/2011  
> De=Wisit Sasanatieng  
> Avec=Ananda Everingham, Pornwut Sarasin  
> Résumé=Une mystérieuse confrérie d’hommes politiques va signer un contrat mirobolant pour la construction d’une centrale nucléaire. Les riverains menacés …  
> Titre=Rango  
> Type=Animation  
> Date Sortie=27/07/2011  
> De=Gore Verbinski  
> Avec=Johnny Depp, Isla Fisher  
> Résumé=Alors qu’il mène sa vie sans histoire d’animal de compagnie, Rango, caméléon peu aventurier, est en pleine crise d’identité : à quoi bon avoir des …

---

<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 21, 2016, 2:58 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/11 "2016-02-21T02:58:31Z")

</div>

Je rajouterais juste une ligne vide avant l’EOF, histoire de séparer les films, mais bon ça reste cosmétique …

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:58 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/12 "2016-02-21T02:58:35Z")

</div>

Ce script est impressionnant, eol merci pour tes infos complémentaires!

Je teste cette solution ASAP et clos le post par la suite je pense!

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:58 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/13 "2016-02-21T02:58:42Z")

</div>

Ok, donc le script de totor avec l’idée de eol pour espace me convient tout à fait

Petite remarque: j’utilise zsh/urxvt et à la fin du script, j’ai `zsh: exit 1 ./allocine.sh`

Que signifie t-il??

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/14 "2016-02-21T02:59:06Z")

</div>

c’est bien étrange effectivement…  
j’utilise également zsh et urxvt mais pour faire le script, je m’étais mis en bash…  
comment lances-tu le script : juste par son nom (./allocine.sh) ou via l’interpréteur zsh (zsh ./allocine.sh) ?  
as-tu mis un shebang bash ou zsh ?

Peux-tu lancer le script ainsi :

```auto
bash -x allocine.sh 2>allocine.trc
```

et mettre à disposition le fichier allocine.trc (normalement il est très volumineux, ce n’est donc pas la peine de le mettre sous balise quote ou code mais donne plutôt un lien pour le downloader)

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/15 "2016-02-21T02:59:08Z")

</div>

[quote=“M3t4linux”]Petite remarque: j’utilise zsh/urxvt et à la fin du script, j’ai `zsh: exit 1 ./allocine.sh`

Que signifie t-il??[/quote]  
Que le programme à finis avec un code de retour à 1, met un true en dernière ligne pour vérifier que ça n’apparaît plus (en fait je viens de vérifier ça marche).

Je pense que le dernier read échoue (c’est normal il faut bien finir de lire le fichier un jour) et bash va renvoyer le status de celui-ci.

Je ne sais pas comment faire plus simple/propre que rajouter une ligne true.

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/16 "2016-02-21T02:59:08Z")

</div>

[quote=“MisterFreez”]  
Je ne sais pas comment faire plus simple/propre que rajouter une ligne true.[/quote]  
un simple exit, ou une ligne contenant juste “:” (ce qui revient au true) 😉

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/17 "2016-02-21T02:59:08Z")

</div>

[quote=“Totor”]c’est bien étrange effectivement…  
j’utilise également zsh et urxvt mais pour faire le script, je m’étais mis en bash…  
comment lances-tu le script : juste par son nom (./allocine.sh) ou via l’interpréteur zsh (zsh ./allocine.sh) ?  
as-tu mis un shebang bash ou zsh ?

Peux-tu lancer le script ainsi :

```auto
bash -x allocine.sh 2>allocine.trc
```

et mettre à disposition le fichier allocine.trc (normalement il est très volumineux, ce n’est donc pas la peine de le mettre sous balise quote ou code mais donne plutôt un lien pour le downloader)[/quote]

Totor :

- Je lance le script par son nom, via ./allocine.sh
- J’ai mis un shebang “bash” (pas bien??)
- Je lancerai le script selon tes indications et mettrai un lien pour “pomper” le fichier allocine.trc (en fin d’après midi)

Merci

@MisterFreez, merci pour ton intervention également

---

<div class="post-metadata">

**Author:** ![Totor](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/58f4c7/32.png) [@Totor](https://www.debian-fr.org/u/Totor)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/18 "2016-02-21T02:59:09Z")

</div>

Je pense que MisterFreez a raison.  
mais je m’étonne que zsh affiche le statut l’un process qui vient de s’arrêter et qui est en erreur. Après, tout dépend comment tu l’as configuré !

---

<div class="post-metadata">

**Author:** ![M3t4linux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/5daacb/32.png) [@M3t4linux](https://www.debian-fr.org/u/M3t4linux)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/19 "2016-02-21T02:59:09Z")

</div>

[quote=«&nbsp;Totor&nbsp;»]Je pense que MisterFreez a raison.  
mais je m’étonne que zsh affiche le statut l’un process qui vient de s’arrêter et qui est en erreur. Après, tout dépend comment tu l’as configuré ![/quote]

Nan!! Chut! Faut pas le dire sinon il va se croire bon après ça ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green") ![:mrgreen:](https://www.debian-fr.org/uploads/default/original/1X/cc83e9b583138e48ff45f96609046b06d06c7f9d.gif "Mr. Green")

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:59 UTC](https://www.debian-fr.org/t/script-allocine-wget-cie/33276/20 "2016-02-21T02:59:10Z")

</div>

Pour la configuration de zsh je conseil ceci « %(?.. [%?]) » dans le prompt ça permet d’afficher le code de retour quand il est différent de 0.

Ça

```auto

```

c’est ce qu’il affiche quand tu lance le script en tâche de fond.

[Page suivante](https://www.debian-fr.org/t/script-allocine-wget-cie/33276.md?page=2)
