#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!!!
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
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
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
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 )
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....
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
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%)
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
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
je ne suis pas seulement un con...
Génération-linux
Une aide personnalisée avec les Parrains Linux
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
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