1 pièce(s) jointe(s)
Récupérration + Optimisation de script
Bonjour,
Je reviens sur un sujet sur lequel j'avais eu beaucoup de problèmes et sur lequel j'ai depuis beaucoup bossé^^
Voici le sujet:
Je dois récupérer des informations sur un site référençant des DVD et les retourner sous ce format:
FILM:.....
RÉALISATEUR:.....
Voici le script que j'ai réussi à faire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #!/usr/bin/perl -w
$fichier=$ARGV[0];
openF,$fichier;
if ($fichier =~/\.html$|\.htm$|\.php$/i) {
open F, $fichier;
@lignes=<F>;
for ($i=0; $i<=$#lignes; $i++) {
if ($lignes[$i]=~/<title>.*- (.*)<\/title>/i) {
print "TITRE : $1\n";
}
if ($lignes[$i]=~/Date/) {
while (!($lignes[$i]=~/Réalisateur/i)) {
if ($lignes[$i] =~/<dd><a.*>(.*)<\/a><\/dd>/i) {
print "DATE DE SORTIE:$1\n";
} $i++;
}
}
if ($lignes[$i]=~/Réalisateur/) {
while (!($lignes[$i]=~/Scénariste/i)) {
if ($lignes[$i] =~/<dd><a.*>(.*)<\/a><\/dd>/i) {
print "REALISATEUR : $1\n";
}
$i++;
}
}
if ($lignes[$i]=~/Scénariste/) {
while (!($lignes[$i]=~/Editeur/i)) {
if ($lignes[$i] =~/<dd><a.*>(.*)<\/a><\/dd>/i) {
print "SCENARISTE : $1\n";
}
$i++;
}
}
if ($lignes[$i]=~/Editeur/) {
while (!($lignes[$i]=~/Musique/i)) {
if ($lignes[$i] =~/<dd><a.*>(.*)<\/a><\/dd>/i) {
print "EDITEUR : $1\n";
}
$i++;
}
}
if ($lignes[$i]=~/Musique/) {
while (!($lignes[$i]=~/<\/dl>/i)) {
if ($lignes[$i] =~/<dd><a.*>(.*)<\/a><\/dd>/i) {
print "MUSIQUE : $1\n";
}
$i++;
}
}
}
} |
J'aimerais savoir si ce script est "optimal", et il me reste 2 ou 3 problèmes que je n'arrive pas à résoudre:
- Il faudrait que j'arrive à récupérer le synopsis mais je n'y arrive pas car il est sur plusieurs lignes.
- Il faudrait que je passe directement par une URL et non plus à partir d'un fichier comme actuellement.
Merci beaucoup de l'aide précieuse que vous pourrez m'apporter car je suis débutant total avec ce langage!