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 : Sélectionner tout - Visualiser dans une fenêtre à part
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!
Partager