Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/05/2007, à 02:10

Yannick_LM

Télécharger la série du "Donjon de Naheulbeuk"

#!/usr/bin/perl -w
use strict;
use LWP::Simple;

print "Téléchargement des addresses ...\n";
my $source = "source" ;
my $url = "http://www.penofchaos.com/warham/download/";
getstore($url,$source) or die ("get : $!");   # On stocke la page donnant les liens.
print "O.K.\n";

# La page donne un ensemble de liens vers des .zip. Il y a plusieurs liens par épisode...


open(FIC,$source); #On ouvre la page

my $i = 0;
my $j = 0;

#Deux indices utiles plus tard.


my $content = "donjon"; #Pour stocker les .zip
while (<FIC>) #On lit les lignes une par une.
{
	my $ligne = $_;
	if ($ligne =~ m/donjon(\d\d).zip/) {   #On regarde si la ligne contient la chaîne 'donjon' suivie de deux chiffres.
		$i = $1; #On stocke ainsi le numéro de l'épisode.
		$content = "donjon".$i.".zip"; # On définit le fichier sur lequel on va sauver l'archive
		$url = $ligne; # On transforme la ligne (en html) pour obtenir l'URL.
		$url =~ s/.*href=\'//; #On enlève toute la partie : <a href= ...
		$url =~ s/\'.*$//; #On enlève la fin de la ligne
		if ($i != $j ) {  #Petit test pour savoir si on n'est pas en train de télécharger deux fois le même épisode
			print "Téléchargement de l'épisode $i ... \n";
			getstore($url,$content) and $j +=1;	# On met à jour le deuxième indice.
			print "O.K. : décompression de l'archive : ...\n";
			open(FILE,"|unzip $content"); # On décompresse
			close(FILE);
			unlink $content; # On supprime le .zip dont on n'a que faire
			print "O.K. !\n\n" ;
		} ;
	};	
}

unlink $source;  # On efface le fichier source maintenant qu'on ne s'en sert plus.

close(FIC);

Note 1. : vous avez besoin du module LWP pour Perl. Vous pouvez l'obtenir avec : 

perl -MCPAN -e shell

suivi de

install LWP::Simple

Note 2. : les moins feignants d'entres vous transcriront ce script en Bash...

EDIT : Ajout de commentaires

Dernière modification par Yannick_LM (Le 23/05/2007, à 02:31)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#2 Le 24/05/2007, à 05:29

Le Psykopat

Re : Télécharger la série du "Donjon de Naheulbeuk"

O mais c'est très bon ça!!! big_smile
Mais depuis quelque temps on aurait que les épisodes sont en pauses.....:/


-Je veux de la STABILITE et LIBERTE
-T'a qu'a aller sur FreeBSD
-Na c'est trop compliqué
-Alors me fait pas ch......!!!!

Hors ligne

#3 Le 25/05/2007, à 17:03

luch

Re : Télécharger la série du "Donjon de Naheulbeuk"

[Lien supprimé]

#4 Le 25/05/2007, à 20:47

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

C'est quoi le rapport ? (ou alors c'est du spam)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#5 Le 25/05/2007, à 21:29

Ju.

Re : Télécharger la série du "Donjon de Naheulbeuk"

@Yannick_LM

Pas besoin de passer par CPAN, mieux vaut rester en paquet

liblwp-protocol-http-socketunix-perl
ou libwww-perl


Have Fun !

Conduite à tenir face aux trolls

Hors ligne

#6 Le 28/05/2007, à 19:14

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

Ah, merci.
(je débute avec Perl)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#7 Le 30/05/2007, à 16:42

Syrion

Re : Télécharger la série du "Donjon de Naheulbeuk"

Ma parole, il a réinventé le RSS tongue


Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti

Hors ligne

#8 Le 23/08/2007, à 16:35

vilraleur

Re : Télécharger la série du "Donjon de Naheulbeuk"

tiens je vais le tester ce soir ....


Petit ! Méchant ! Médiocre !
Vilraleur
Tant qu'il râle c'est qu'il est pas mort

Hors ligne

#9 Le 23/08/2007, à 18:33

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

@vilraleur :
Oh mon dieu, un utilisateur !
Bon, je croise les doigts.

P.S. Ça me fait tout bizarre de retomber là-dessus. J'ai envie de tout réécrire en ruby, tiens, avec au moins le choix du répertoire de destination, et le test de l'existence des fichiers avant de télécharger, tout ça...


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#10 Le 23/08/2007, à 18:43

vilraleur

Re : Télécharger la série du "Donjon de Naheulbeuk"

heu ca a po marché ....
faut dire que je suis un tout neuf de Linux ...
on fait comment pour lancer ton script ?
et pourquoi  ce code ci dessous me demande plein de truc bizzare ?

install LWP::Simple

Petit ! Méchant ! Médiocre !
Vilraleur
Tant qu'il râle c'est qu'il est pas mort

Hors ligne

#11 Le 23/08/2007, à 19:37

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

Arf !


Je l'savais.

Bon d'abord, il faut installer un ch'tit paquet, comme l'a précisé l'ami Ju : libwww-perl.


Ensuite, pour lancer le script. (en supposant que tu as enregistré le code dans un fichier naheul.pl, dans le dossier où tu comptes voir arriver les épisodes)
Se mettre dans le dossier en question, et faire :

chmod u+x naheul.pl
./naheul.pl

Voilà


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#12 Le 23/08/2007, à 19:51

vilraleur

Re : Télécharger la série du "Donjon de Naheulbeuk"

humhum ...
tagazok Ju.

leto-ii@Oasis:~$ sudo apt-get install libwww-perl
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture de l'information d'état... Fait
libwww-perl est déjà la plus récente version disponible.
Les paquets suivants ont été automatiquement installés mais ne sont plus nécessaires :
  binutils-static docker tk8.4
Utiliser "apt-get autoremove" pour les supprimer
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
leto-ii@Oasis:~$ sudo chmod u+x naheulbeuk.pl 
leto-ii@Oasis:~$ ./naheulbeuk.pl 
syntax error at ./naheulbeuk.pl line 46, at EOF
Execution of ./naheulbeuk.pl aborted due to compilation errors.

bon bah ca marche po
j'essaye avec les autre lib
edit 1
ca change rien ...

Dernière modification par vilraleur (Le 23/08/2007, à 19:52)


Petit ! Méchant ! Médiocre !
Vilraleur
Tant qu'il râle c'est qu'il est pas mort

Hors ligne

#13 Le 23/08/2007, à 22:28

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

Hmm.  Apparemment, le problème vient du script lui-même.
Il te met une erreur sur la dernière ligne du fichier, c'est bizarre.
Comme ça compile* chez moi, je suis obligé de te poser la question :
es-tu sûr d'avoir bien fait le copier-coller ?


*aux puristes : oui ; on peut pinailler


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#14 Le 24/08/2007, à 08:54

vilraleur

Re : Télécharger la série du "Donjon de Naheulbeuk"

je te dirais ça se soir ..
Au pire je vais tout recopier !


Petit ! Méchant ! Médiocre !
Vilraleur
Tant qu'il râle c'est qu'il est pas mort

Hors ligne

#15 Le 31/08/2007, à 05:44

Oubountou

Re : Télécharger la série du "Donjon de Naheulbeuk"

Marche nickel ! Merci pour le script smile


Ubuntu 7.04 Feisty Fawn / Gnome / Futjisu Siemens Amilo XI 1546-5510  / Core 2 Duo T5500 @1.66 GHz - 2 Go -ATI X1800 mobility / Windows tenu en laisse sous Virtualbox ;-) + AMD 64 3000 1G Radeon 9800 Pro sous gutsy

Hors ligne

#16 Le 31/08/2007, à 06:50

vilraleur

Re : Télécharger la série du "Donjon de Naheulbeuk"

(ouais c'est vrai que ca marche (j'ai oublié de le dire tongue )


Petit ! Méchant ! Médiocre !
Vilraleur
Tant qu'il râle c'est qu'il est pas mort

Hors ligne

#17 Le 03/01/2008, à 04:34

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

Bon, j'étais pas content de ce script, j'en ai fait un autre.
(en bash)

#!/bin/bash

wget -c http://www.penofchaos.com/warham/download/ -O source
grep Episode -A4 source | grep zip | cut -d "'" -f 2 > urls

i=0
while read url ; do 
    let "i = i +1"
    wget -c $url -O $i.zip 
    unzip $i.zip
done < urls

(Vous noterez que j'ai plus progressé en Bash qu'en perl ...)

Dernière modification par Yannick_LM (Le 03/01/2008, à 04:36)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#18 Le 04/01/2008, à 01:37

Ju.

Re : Télécharger la série du "Donjon de Naheulbeuk"

Joli ...


En one liner gruik :

  wget `wget --quiet http://www.penofchaos.com/warham/download/ -O- |grep Episode -A4  | grep zip | cut -d "'" -f 2`

A utiliser avec moderations....


Have Fun !

Conduite à tenir face aux trolls

Hors ligne

#19 Le 06/01/2008, à 06:41

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

En fait, il se trouve que le script en Bash présente un défaut.
Si le premier lien proposé échoue pour un épisode échoue, on a perdu.
(ce qu'il faudrait, c'est essayé de télécharger à partir du second lien dans le cas où le premier n'a pas fonctionné)

C'est ce qui est fait dans le script en perl (avec l'inconvénient que celui-ci considère que les liens pointent tous vers des fichiers donjonxx.zip, ce qui est faux : il y a des fichiers comme donjon21-1.zip, donjon21-2.zip, des épisodes en deux parties, qui ne seront pas téléchargés par le script en perl.
D'ailleurs, si je me souviens bien, il plante parce qu'il y a maintenant un lien vers donjon28.zip en début de page lol



Bon, de toutes façons, maintenant que j'ai tout récupéré, je ne suis pas très motivé pour bosser dessus, et c'est pas non plus la mort de faire à la main pour les deux trois fichiers qui posent problème ...


J'essaierai de regler ce bug un de ces quatre, si personne ne se motive.


@Ju : c'est pas pour critiquer, mais il manque l'extraction des archives

HS : Pourquoi ont-ils tenus à compresser les mp3 dans des .zip?
Mystère et boule de gomme...
Juste pour info le mp3 est DEJA compressé, donc ça ne sert pas à grand chose de le compresser une deuxième fois :

zip donjon.zip donjon01.mp3 
  adding: donjon2zip.mp3 (deflated 3%)

lol


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne

#20 Le 06/01/2008, à 06:46

Ju.

Re : Télécharger la série du "Donjon de Naheulbeuk"

Ah oui exact... Faut dire en effet pourquoi compresser du mp3 ?


Pas de soucis, je ne vois pas de critique


Have Fun !

Conduite à tenir face aux trolls

Hors ligne

#21 Le 07/01/2008, à 15:11

jean bono

Re : Télécharger la série du "Donjon de Naheulbeuk"

salut et merci a toi
le script en perl du debut n'a pas marche chez moi (une erreur de ; quelque part)
mais celui en bash est parfait
merci beaucoup

Hors ligne

#22 Le 07/01/2008, à 17:16

Nemesis

Re : Télécharger la série du "Donjon de Naheulbeuk"

(au sujet des épisodes long à  sortir, jonglez avec Reflets d'Acides wink
http://www.synopsite.com/pages/reflets_d_acidepag.html#episodes

ou éventuellement survivaure mais j'aime moins)

Hors ligne

#23 Le 07/01/2008, à 18:20

Yannick_LM

Re : Télécharger la série du "Donjon de Naheulbeuk"

for i in `seq 12` ; do wget www.synopsite.com/episode$i.zip -O $i.zip ; unzip $i.zip ; done ; rm -f *.zip

(plus facile, cette fois)

HS : Mais pourquoi faire une popup pour télécharger les épisodes ?

Dernière modification par Yannick_LM (Le 07/01/2008, à 18:27)


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne