[REL] Script pour les affiches de Affichescinema.com

If you made a script you can offer it to the others here, or ask help to improve it. You can also report here bugs & problems with existing scripts.
Post Reply
Tropta
Posts: 1
Joined: 2005-05-16 10:41:35
Contact:

[REL] Script pour les affiches de Affichescinema.com

Post by Tropta »

Bonjour,
Voici mon premier script public pour récupérer les affiches de
www.affichescinema.com

Sur ce site, il n'y a que des affiches (ou presque) avec un choix éclectique. Avec, parfois, des titres en VO.
Attention, il ny'a pas de titre commençant par des chiffres.

Le script : http://julotsoft.free.fr/ant/affichescinema.ifs
on dira que c'est une version 1. Il reste sûrement des choses à améliorer

Code: Select all

(***************************************************

Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/

[Infos]
Authors=JulotSoft
Title=AffichesCinema
Description=Récupère des affiches de AffichesCinema.com
Site=http://www.affichescinema.com/
Language=EN,FR
Version=1
Requires=3.5.0
Comments=Ce script nécessite le fichier "StringUtils1.pas"|Le nom d'un film (pour ce site) ne peut pas commencer par un chiffre.
License=This program is free software; you can redistribute it and/or modify it under the  terms of the GNU General Public License as published by the Free Software Foundation;  either version 2 of the License, or (at your option) any later version.
GetInfo=1

[Options]

***************************************************)

program AffCinema;
// to do : vérifier si le film est présent +sieurs fois sur la page
//         et présenter le choix en réponse !
uses
  StringUtils1;

const
  UrlBase = 'http://www.affichescinema.com';

var
  szMovieName, szOriginalTitle, szTranslatedTitle:  string;
  szPremiereLettre:string;
  szUrlPage: string;

//------------------------------------------------------------------------------
// returns a string with 1st article removed (first word only)
// Script de scorpion7552 modifié pour l'occasion. Merci à lui.
//------------------------------------------------------------------------------
function RemoveArticles(str1: string) :string;
var
  Articles: array of string;
  i: integer;
  str2: String;

begin
	SetArrayLength(Articles,9);
  Articles[0]:='le ';
  Articles[1]:='la ';
  Articles[2]:='l''';
  Articles[3]:='l ';
  Articles[4]:='les ';
  Articles[5]:='des ';
  Articles[6]:='un ';
  Articles[7]:='une ';
  Articles[8]:='the ';

  str2 := AnsiLowerCase(str1);
  for i := 0 to GetArrayLength(articles)-1 do
  begin
    if Pos(Articles[i], str2) = 1 then
    begin
			str1 := Copy(str1, Length(Articles[i])+1, length(str1));
      Break;
    end;
  end;        {for i}
	result := Trim(str1);
end;


//-----------------------------------------------------------
procedure AnalyzePageAffiche;
var
  szLine: string;
  szNomImage: string;
  LaListe: TStringList;
  iNumLigne: integer;
  szTemp: string;
begin
  LaListe:= TStringList.Create;

  szLine := AnsiLowerCase(GetPage(szUrlPage));
  if Pos(szMovieName, szLine) = 0 then
    begin
      ShowMessage('Aucun film trouvé');
      Exit;
    end;
    
  LaListe.Text := szLine;
  iNumLigne := FindLine(szMovieName, LaListe, 0);
  szTemp := LaListe.GetString(iNumLigne);
  szNomImage := TextBetween(szTemp, 'insc_'+szPremiereLettre+'/', '"');
  //szNomImage := TextBefore(szLine, '" target="_blank">'+ szMovieName, 'insc_'+szPremiereLettre+'/');
  GetPicture(UrlBase+'/insc_'+szPremiereLettre+'/'+szNomImage);
  
  LaListe.free;
end;
//-----------------------------------------------------------

// Main -- Programme principal
begin
  if CheckVersion(3,5,0) then
    begin
      szTranslatedTitle := GetField(fieldTranslatedTitle);
      szOriginalTitle := GetField(fieldOriginalTitle);
      if (szTranslatedTitle <> '') then
        szMovieName := szTranslatedTitle
      else
        szMovieName := szOriginalTitle;
      if (Input('AffichesCinema - By JulotSoft', 'Entrer le titre du film:', szMovieName)) then
        begin
          szMovieName:=  AnsiLowerCase(RemoveArticles(szMovieName)); //à voir pour le "a"
          //szMovieName:=  AnsiLowerCase(szMovieName);
          szPremiereLettre:= left(szMovieName,1);
          szUrlPage :=  UrlBase + '/page' +  szPremiereLettre + '.html';
          AnalyzePageAffiche;
        end;
    end
  else
    ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)');
end.
A++ ;)
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

merci ;)
draco31.fr
Posts: 191
Joined: 2005-08-11 19:27:15
Location: Toulouse (31), France

Post by draco31.fr »

Sympa !

Dommage que le site ne réference que les jaquettes de films sortis en salles (donc impossible de trouvé des films sortis en DVD et non en salles).

Le fait qu'il n'y ait pas de système de recherche sur le site est contraignant aussi : il faut forcément donner le premier mot du titre pour avoir la bonne réponse.

Par contre j'ai un petit "soucis" :
Certains titres peuvent ne pas avoir exactement la même écriture :
par exemple : The Ballad Of Jack And Rose / The Ballad Of Jack & Rose
Aucun résultats si le film ne correspond pas exactement au titre de la liste du site :( (mais tu n'y es pour rien :/ )
Autre "bug" : j'ai voulu faire une recherche pour "Bienvenue à Gattaca", pour être sûr d'avoir un résultat, je n'ai donné que "bienvenue" pour la recherche du script : et il a retourné le premier film de la liste commençant pas "bienvenue" :
Bienvenue à bord
Bienvenue à Collinwood
Bienvenue à Gattaca
Bienvenue au club
Bienvenue au gîte
Bienvenue au paradis
Bienvenue chez les Rozes
Bienvenue dans l'âge ingrat
Bienvenue dans la jungle
Bienvenue en Afrique!
Bienvenue en Suisse
Bienvenue Mister Chance
C'est à dire : "Bienvenue à bord".
ça serait bien, que le script vérifie s'il n'y a pas plusieurs occurences du "mot clé" utilisé pour la recherche, dans la liste des films du site, et si c'est le cas : afficher un menu pour choisir le résultat voulu ! (au lieu de prendre le 1er résultat directement !)
EDIT: Je viens de voir que tu l'avais mis en ToDo donc désolé de l'avoir fait remarquer pour rien :o

Voilà pour les petites remarques que je pourrais faire sur ton script ...
mais je te rassure : ton script marche très bien !
J'espère que tu ne t'arreteras pas là !! :grinking:
Dedej
Posts: 161
Joined: 2007-03-25 16:30:07
Location: Toulon

Remise à jour du script.

Post by Dedej »

Je ne trouvais certaines images en version françaises que sur ce site alors j'ai repris un peu le script qui ne fonctionnait plus :cry: .
Apparement c'est bon.

C'est ici .

Pour récupérer sur le FTP utiliser IE car Firefox ne passe pas ou alors il faut le plug-in "FTP".

Bon catalog :wink:
Last edited by Dedej on 2009-09-01 08:47:54, edited 2 times in total.
antp
Site Admin
Posts: 9636
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

merci :)
Post Reply