Page 1 of 1

[FR] dvdanime.net (pour les amateurs de mangas)

Posted: 2003-01-13 19:22:23
by Rincevent
Bonjour,
voici un petit script pour les amateurs de mangas avec le site
http://www.dvdanime.net/
:grinking:

Code: Select all

// GETINFO SCRIPTING
// dvdanime.net import with picture

(***************************************************
 *  Movie importation script for:                  *
 *          dvdanime.net, http://www.dvdanime.net  *
 *                                                 *
 *  (c) 2002 Rincevent                             *
 *                                                 *
 *  For use with Ant Movie Catalog 3.4.1           *
 *    (there is a bug in the 3.4.0 that prevents   *
 *     from using this script without serious      *
 *     problems. Please upgrade if you have an     *
 *     old version)                                *
 *  www.ant.be.tf/moviecatalog ··· www.buypin.com  *
 *                                                 *
 *  The source code of the script can be used in   *
 *  another program only if full credits to        *
 *  script author and a link to Ant Movie Catalog  *
 *  website are given in the About box or in       *
 *  the documentation of the program               *
 ***************************************************)

program dvdanime;
var
  MovieName: string;



function DelFirstBlank(line: string): string;
begin
  while (   (pos(' ', line) = 1)
         or (pos(#09, line) = 1)
         or (pos(#13, line) = 1)
         or (pos(#10, line) = 1) ) do
    Delete(line, 1, 1);
  result := line;
end;

function DelImg(line: string): string;
var
BeginPos, EndPos: Integer;
Line1: string;
begin
  while (pos('<img src', line) > 0)  do
    begin
      BeginPos := pos('<img src', line);
      result   := copy(line, 0, BeginPos);
      result   := DelFirstBlank(result);
      Delete(line, 1, BeginPos-1);
      EndPos := pos('</a>', line);
      Delete(line, 1, EndPos-1);
      line := DelFirstBlank(line);
      line := result + line;
    end;
  result := line;
end;

procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  LineNr: Integer;
  MovieTitle: string;
  Line: string;
  BeginPos, EndPos: Integer;
begin
  Line := GetPage(Address);
  if Pos('<TITLE>DVDanime.net', Line) > 0 then
  begin
     PickTreeClear;
     BeginPos := pos('name=titre>', Line);
     while (BeginPos > 0) do
       begin
         //titre := Page.GetString(LineNr);
         Delete(Line, 1, BeginPos + 10);
         MovieTitle := copy(Line, pos(';', Line) + 1, pos('</TD>', Line) - 6);
         HTMLRemoveTags(MovieTitle);
         PickTreeAdd(MovieTitle, '');
         AddMoviesTitles(Line);
         BeginPos := pos('name=titre>', Line);
       end;

      // PickTreeMoreLink('http://www.allocine.fr/recherche/');

      if PickTreeExec(Address) then
       begin
        Line := GetPage(Address);
        SetField(fieldURL, Address);
        AnalyzeMoviePage(Line);
       end
  end;
end;



procedure AddMoviesTitles(var Line: string);
var
  MovieTitle, MovieAddress: string;
  StartPos, EndPos: Integer;
begin
  StartPos := pos('critiqueview.php?id_critique=', Line);
  repeat
    if StartPos > 0 then
    begin
      Delete(Line, 1, StartPos - 1);
      MovieTitle := copy(Line, 1, pos('<TD align=center', Line));
      MovieTitle := '<' + MovieTitle;
      HTMLRemoveTags(MovieTitle);
      HTMLDecode(MovieTitle);
      MovieTitle :=StringReplace(MovieTitle, #09, '');
      MovieTitle :=StringReplace(MovieTitle, #13#10 , '');
      MovieAddress := copy(Line, 1, pos('"', Line) - 2);
      Delete(Line, 1, pos('</TR>', Line));
      PickTreeAdd(MovieTitle, 'http://www.dvdanime.net/' + MovieAddress);
    end;
    StartPos := pos('critiqueview.php?id_critique', Line);
    EndPos   := pos('name=titre>', Line);
  until (StartPos < 1) or ((StartPos > EndPos) and  (EndPos > 0));

end;


procedure AnalyzeMoviePage(PageContents: string);
var
  Line, Value: string;
  LineNr, BeginPos, EndPos: Integer;
  Page: TStringList;
begin
  // Picture
  BeginPos := Pos('images_critiques', PageContents);
  delete(PageContents,1,BeginPos - 1);
  EndPos := Pos('.jpg', PageContents);
  Value := Copy(PageContents, 0, EndPos + 3);
  GetPicture('http://www.dvdanime.net/' + Value, False);
  //SetField(fieldComments, 'http://www.dvdanime.net/' + Value);
  
  
  //Bloc Titre
  BeginPos := Pos('<!-- //Bloc titre -->', PageContents);
  delete(PageContents,1,BeginPos-1);
  // Titles traduit
  EndPos := Pos('<IMG SRC=images/pix.gif HEIGHT=7>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  Value :=StringReplace(Value, '<center>', ' ');
  HTMLRemoveTags(Value);
  Value :=StringReplace(Value, #09, '');
  Value :=StringReplace(Value, #13#10 , '');
  SetField(fieldTranslatedTitle, Value);
  
  //Realisateur
  BeginPos := Pos('Réalisateurs', PageContents);
  if (BeginPos > 0) then
  begin
    delete(PageContents,1,BeginPos + 13);
    EndPos := Pos('<BR>', PageContents);
    Value := copy(PageContents, 0, EndPos);
    HTMLRemoveTags(Value);
    Value := DelFirstBlank(Value);
    SetField(fieldDirector, Value);
  end;
  
  // Fiche de l'animé
  BeginPos := Pos('Fiche de l', PageContents);
  delete(PageContents,1,BeginPos);
  // Country
  BeginPos := Pos('Origine :', PageContents);
  delete(PageContents,1,BeginPos+8);
  EndPos := Pos('<BR>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  SetField(fieldCountry, Value);
  // Titre original
  BeginPos := Pos('Titre original :', PageContents);

  delete(PageContents,1,BeginPos+15);
  EndPos := Pos('<BR>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  //Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  Value := DelFirstBlank(Value);
  if (Value = '(idem vf)') then
    Value := GetField(fieldTranslatedTitle);
  SetField(fieldOriginalTitle, Value);

  // Category
  BeginPos := Pos('Type :', PageContents);
  delete(PageContents,1,BeginPos+5);
  EndPos := Pos('<BR>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  SetField(fieldCategory, Value);

   // Length
  BeginPos := Pos('Durée :', PageContents);
  delete(PageContents,1,BeginPos+6);
  EndPos := Pos('minutes', PageContents);
  Value := copy(PageContents, 0, EndPos -1);
  Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  SetField(fieldLength, Value);

  // Year
  BeginPos := Pos('Année de prod. :', PageContents);
  delete(PageContents,1,BeginPos+15);
  EndPos := Pos('<BR>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  //Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  SetField(fieldYear, Value);
  
  
  // Producer
  //BeginPos := Pos('Produit par :', PageContents);
  BeginPos := Pos('Editeur :', PageContents);
  delete(PageContents,1,BeginPos+8);
  EndPos := Pos('<BR>', PageContents);
  Value := copy(PageContents, 0, EndPos);
  //Value :=StringReplace(Value, ' ' , '');
  HTMLRemoveTags(Value);
  Value := DelFirstBlank(Value);
  SetField(fieldProducer, Value);
  
  

  //NAME=scenario>Scénario
  BeginPos := Pos('NAME=scenario>Scénario', PageContents);
  if (BeginPos > 0) then
  begin
    delete(PageContents,1,BeginPos + 21);
    EndPos := Pos('<TD VALIGN=MIDDLE VALIGN=TOP ALIGN=CENTER BACKGROUND=images/critique/critiques_note', PageContents);
    Value := copy(PageContents, 0, EndPos-1);
    Value :=DelImg(Value);
    HTMLRemoveTags(Value);
    Value :=StringReplace(Value, '’' , #39);
    Value :=StringReplace(Value, #09 , '');
    Value :=StringReplace(Value, #13#10#13#10 , #13#10);
    Value :=DelFirstBlank(Value);
    SetField(fieldDescription, Value);
  end;
  DisplayResults;
end;




begin
  if CheckVersion(3,4,1) then
  begin
    MovieName := GetField(fieldOriginalTitle);
    if MovieName = '' then
      MovieName := GetField(fieldTranslatedTitle);
    if Input('dvdanime.net Import', 'Entrez le titre du film :', MovieName) then
    begin
     AnalyzePage('http://www.dvdanime.net/liste_dvd.php?mode=liste&recherche='+UrlEncode(MovieName));     
    end;
  end else
    ShowMessage('Ce script requiert la version 3.4.1 ou supérieure de Ant Movie Catalog.');
end.


Posted: 2003-01-13 19:33:54
by antp
Merci pour le script ;)

par contre la partie de commentaire suivante ne concernait que DVDFR :

(there is a bug in the 3.4.0 that prevents
from using this script without serious
problems. Please upgrade if you have an
old version)

:D

J'incluerai le script lors de la prochaine mise à jour du programme :cool:

Posted: 2003-01-16 16:04:22
by TheRealMcCoy
Beau boulot :grinking:

Le script fonctionne bien mais pourquoi rajoute-t'il le mot "Film" à la fin du titre traduit (et parfois aussi du titre original) ???

Par contre leur moteur de recherche ne semble pas top (ce n'est pas de la faute de l'auteur du script ;) )...

Je m'explique :

Recherche : Tombeau ---> trouvé : Le Tombeau des Lucioles
Recherche : Lucioles ---> trouvé : Le Tombeau des Lucioles
Recherche : tombeau lucioles ---> aucun résultat :cry:

Posted: 2003-01-16 17:18:43
by 3xodus alias Procat
Ce n'est pas grand chose pour faire disparaitre 'Film' remplace le code :

Code: Select all

//Bloc Titre 
  BeginPos := Pos('<!-- //Bloc titre -->', PageContents); 
  delete(PageContents,1,BeginPos-1); 
  // Titles traduit 
  EndPos := Pos('<IMG SRC=images/pix.gif HEIGHT=7>', PageContents); 
  Value := copy(PageContents, 0, EndPos); 
  Value :=StringReplace(Value, '<center>', ' '); 
  HTMLRemoveTags(Value); 
  Value :=StringReplace(Value, #09, ''); 
  Value :=StringReplace(Value, #13#10 , ''); 
  SetField(fieldTranslatedTitle, Value); 

par celui ci :

Code: Select all

// Recuperation du titre traduit
  LineNr := FindLine('<!-- //Bloc titre -->', Page, LineNr);
  if LineNr > -1 then
  begin
    Value := Trim(Page.GetString(LineNr + 6));
    HTMLRemoveTags(Value);
    SetField(fieldActors, Value);
  end;
Je ne l'ai pas testé mais cela devrait marcher. ;)

Posted: 2003-01-16 17:54:12
by antp
TheRealMcCoy wrote: Recherche : tombeau lucioles ---> aucun résultat :cry:
Et avec "tombeau des lucioles" ?
Puis la recherche c'est juste ce qui est renvoyé par le site, si les résultats ne sont pas terribles c'est plus la faute du site que du script :D

Posted: 2003-01-19 18:49:06
by mkauk
how do i get it to work?

Posted: 2003-01-19 19:42:11
by antp
mkauk wrote:how do i get it to work?
it is for a french site...

Posted: 2003-06-04 14:22:40
by Squall
Bon beh moi g un pb, il veut po m'importer les descriptions des episodes ou oav...

dc si kelk1 peut me dire prkoi.

g fe le teste avec Ah! My Goddess.

thx.

Posted: 2003-11-17 21:53:39
by Maniac666
Bonjour tlm

J'ai un pb avec le script DVDAnime (FR).ifs

Lorsque je l'utilise il ne trouve jamais rien. Pourtant il a marché plusieurs fois avant.
J'ai essayer depuis un autre PC : idem

J'imagine que le site web y ai pour qque chose mais je nage completement dans les scripts.

Si quelqu'un a trouver une solution ou si ca marche pour vous dites le moi.

Merci

Argggggggggggg

Ben tiens...

Posted: 2004-12-05 09:17:05
by Algol
Bonjour,

Pourrais-je savoir qui dans notre équipe vous avez contacté pour avoir la permission de récupérer. Cela nous intéresserait fortement de la savoir. A ma connaissance, DVDanime.net ne vous a pas donné la permission d'utiliser les informations de notre site.

Merci.

Algol

www.dvdanime.net

Posted: 2004-12-05 10:27:28
by antp
La plupart des scripts sont faits sans demander la permission au site (notez que je n'y suis pour rien, ce n'est pas moi qui ai fait le script, j'ai juste fait le soft).
Pour empêcher le soft d'accéder au site il suffit de bloquer son user-agent (qui est spécifique : « Mozilla/5.0 (compatible; Ant Movie Catalog using Indy Library) »)

Posted: 2005-07-25 21:32:01
by Folken
Cher Monsieur Algol,

Jusqu'à preuve du contraire vous n'êtes pas propriétaire d'un quelconque droit sur les informations techniques concernant les DVDs que vous testez.
Pas plus que vous n'êtes propriétaire des images de covers ou des shots que vous mettez dans vos tests (au mieux vous pouvez éventuellement prétendre à un droit sur les tests en eux-mêmes..).

En clair, il ne me semble pas que quiconque ait à vous demander la moindre permission pour récupérer chez vous quelquechose qui ne vous appartient pas.

Merci et bonne soirée.

Long live AMC.