Page 1 of 2

[FR] Jeux vidéos

Posted: 2004-01-10 12:43:45
by CobraRoyal
Est ce que quelqu'un aurait un script (ou aurait l'intention de le faire) pour faire une liste de jeux vidéos en prennant les infos d'un bon site du style de jeuxvideo.com ?

Il faudrait dans ce script: Le nom du jeu, dévellopeurs/éditeurs, l'année, la catégorie et la note du site (et les commentaires), les liens officiels

Bon, je dis ça comme ça mais je ne sais pas du tout si c'est possible et j'imagine encore moins le travail que ça représente puisque je n'ai jamais essayé, mais je crois que si qq y arrivait, ça fairait pas mal d'heureux sur la toile...

Script jeuxvideo.com

Posted: 2004-01-24 23:39:22
by Crevette
Comme j'étais également intéressé par ce genre de script et que personne ne l'avait fait, je me suis donc lancé... J'espère qu'il te conviendra ainsi qu'à d'autres utilisateurs de ce superbe programme qu'est Ant Movie Catalog (manque plus que la possibilité de modifier l'intiutulé des champs et leurs disposition pour qu'il soit au top :)
Encore félicitations à Antoine Potten :grinking:

Code: Select all

// GETINFO SCRIPTING
// JeuxVideo.com import

(***************************************************
 *  Game importation script for:                   *
 *      JeuxVideo.com, http://www.jeuxvideo.com    *
 *                                                 *
 *  Script by Crevette 25/01/04                    *
 *                                                 *
 *  For use with Ant Movie Catalog 3.4.2           *
 *  www.ant.be.tf/moviecatalog ··· www.buypin.com  *
 *                                                 *
 *  For use with Ant Movie Catalog 3.4.0           *
 *  www.antp.be/software/moviecatalog              *
 *                                                 *
 *  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 JeuxVideo;

const
  ConfirmTitre = True;		// False : ne demande pas de confirmation du titre avant recherche
  ExternalPictures = False;
  {  True: Les images seront stockées en tant que fichiers dans le même dossier que le catalogue
     False: Les images seront stockées dans le catalogue (seulement pour les fichiers .amc)  }

var
  GameName: string;

function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
var
  i: Integer;
begin
  result := -1;
  if StartAt < 0 then
    StartAt := 0;
  for i := StartAt to List.Count-1 do
    if Pos(Pattern, List.GetString(i)) <> 0 then
    begin
      result := i;
      Break;
    end;
end;

procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  LineNr, Count: Integer;
  Line, GameAddress, Value: string;
  BeginPos, EndPos: Integer;
begin
  Page := TStringList.Create;
  Page.Text := GetPage(Address);
  if pos('Test avec JeuxVideo.com</title>', Page.Text) > 0 then
    AnalyzeGamePage(Page);
  if pos('<b>Actuellement disponible sur JeuxVideo.com :</b>', Page.Text) > 0 then
  begin
    // Titre Original
    LineNr := FindLine('</b></font><font size="5" face="Verdana, Arial, Helvetica, sans-serif">', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('</b></font><font size="5" face="Verdana, Arial, Helvetica, sans-serif">', Line) + 71;
      EndPos := pos('</font></b><br>', Line);
      Value := copy(Line, BeginPos, EndPos - BeginPos);
      SetField(fieldOriginalTitle, Value);
    end;
    // Adresse de la jaquette chez Alapage.com
    LineNr := FindLine('Commander ce jeu chez Alapage', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('F&REF_NOVA=', Line) + 11;
      EndPos := pos('" target=', Line);
      Value := 'http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=' + copy(Line, BeginPos, EndPos - BeginPos) + 'r.jpg';
      GetPicture(Value, ExternalPictures);
    end;
    // Adresse du Test Complet
    LineNr := FindLine('Test Complet', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('<a href="', Line) + 9;
      EndPos := pos('"><b>', Line);
      Address := 'http://www.jeuxvideo.com/' + copy(Line, BeginPos, EndPos - BeginPos);
      AnalyzePage(Address);
    end else
      SetField(fieldDescription, 'Pas encore de Test pour ce Jeu !');
  end else
  begin
    PickTreeClear;
    // Liste des Jeux Trouvés
    LineNr := FindLine('<br>Nous avons trouvé ', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('color="#FF3300">', Line) + 16;
      EndPos := pos('</font></b></font>', Line);
      if (EndPos - BeginPos > 0) then
      begin
        PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos) +' jeux trouvés pour ' + GameName + ' :', '');
        Count := StrToInt(copy(Line, BeginPos, EndPos - BeginPos), 0);
        Delete(Line, 1, EndPos + 18);
        While (Count > 0) do
        begin
          LineNr := FindLine('<p><img src="/pics/', Page, LineNr) ;
          Line := Page.GetString(LineNr);
          BeginPos := pos('<font size="4">', Line) + 15;
          EndPos := pos('</font></b></font><br>', Line);
          PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos), '');
          Delete(Line, 1, EndPos + 22);
          LineNr := FindLine('<a href="schr.htm?num=', Page, LineNr);
          Repeat
            Line := Page.GetString(LineNr);
            BeginPos := pos('<a href="schr.htm?num=', Line) + 9;
            If BeginPos > 9 then
            begin
              EndPos := pos('">', Line);
              GameAddress := 'http://www.jeuxvideo.com/' + copy(Line, BeginPos, EndPos - BeginPos);
              BeginPos := EndPos + 2;
              EndPos := pos('</a><br>', Line);
              PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos), GameAddress);
              Delete(Line, 1, EndPos + 8);
              Count := Count - 1;
            end;
            LineNr := LineNr + 1;
          Until (pos('</font></p></blockquote>', Page.GetString(LineNr)) <> 0);
        end;
      end;
      if PickTreeExec(Address) then
        AnalyzePage(Address);
    end;
  end;
  Page.Free;
end;

procedure AnalyzeGamePage(Page: TStringList);
var
  Pageaff: TStringList;
  Line, Value: string;
  LineNr: Integer;
  IntValue: Integer;
  BeginPos: Integer;
  EndPos: Integer;
  Offset, Count: Integer;
begin
  // Editeur
  LineNr := FindLine('<font color="#CC0000">Editeur:', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target="_blank">', Line) + 16;
    EndPos := pos('</a><br>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldProducer, Value);
  end;
  // Développeur
  LineNr := FindLine('<font color="#CC0000">Développeur', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target="_blank">', Line) + 16;
    EndPos := pos('</a><br>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldDirector, Value);
  end;
  // Site Web Officiel
  LineNr := FindLine('<font color="#CC0000">Site web officiel', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('<a href="', Line) + 9;
    EndPos := pos('" target=', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldUrl, Value);
  end;
  // Type de Jeu
  LineNr := FindLine('<font color="#CC0000">Type', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target=_new>', Line) + 12;
    EndPos := pos('</a>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldCategory, Value);
  end;
  // Date de Sortie
  LineNr := FindLine('<font color="#CC0000">Sortie', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr+1);
    SetField(fieldSource, Line);
  end;
  // Test Complet (Description)
  LineNr := FindLine('<p align="justify">', Page, 0);
  if LineNr > -1 then
  begin
    Value := '';
    LineNr := LineNr + 1;
    repeat
      Line := Page.GetString(LineNr);
      Value := Value + Line + #13#10#13#10;
      LineNr := LineNr + 3;
    until (pos('<', Page.GetString(LineNr)) <> 0);
//  Value := StringReplace(Value, '</p>', '');
  SetField(fieldDescription, Value);
  end;
  // En Bref... (Commentaires)
  LineNr := FindLine('En bref...', Page, 0);
  if LineNr > -1 then
  begin
    Value := '';
    // Graphisme
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></b><br>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Jouabilité
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := 1;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 2;
    // Durée de vie
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;

    LineNr := LineNr + 3;
    // Bande son
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 50;
    EndPos := pos('</font></font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Scénario
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 50;
    EndPos := pos('</font></font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Note générale
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#FF0000" size="4">', Line) + 25;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('color="#FF0000">', Line) + 16;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    SetField(fieldComments, Value);
  end;
//  DisplayResults;
end;


begin
  if CheckVersion(3,4,1) then
  begin
    GameName := GetField(fieldOriginalTitle);
    if GameName = '' then
      GameName := GetField(fieldTranslatedTitle);
    if ConfirmTitre then
      if Input('JeuxVideo.com Import', 'Entrez le nom du jeu :', GameName) then
       AnalyzePage('http://www.jeuxvideo.com/schr.htm?textfield='+UrlEncode(GameName)+'&range=-');
  end else
    ShowMessage('Ce script requiert la version 3.4.1 ou supérieure de Ant Movie Catalog.');
end.

Posted: 2004-01-24 23:42:30
by antp
j'ai rajouté les balises

Code: Select all

 pour que le script conseve son indentation ;)

Posted: 2004-01-25 18:37:01
by Crevette
okay merci c'est mon 1er post et j'avoue ne pas y avoir pensé :wink:

Remerciements

Posted: 2004-01-26 10:17:11
by Fabbio
;) ;) Merci pour ce scpript vraiment bien foutu et très pratique !

Posted: 2004-01-27 11:25:06
by Sqwale
merci beaucoup a toi !! ceci va s'averer bien utile !!

Posted: 2004-01-27 12:03:25
by Merit
Bon sang ! Je suis trop heureux là ! Je viens de découvrir ce forum ! Super logiciel ! J'avais fait la liste de mes films, il ne manquait plus que celle des jeux !

J'ai testé, ça fonctionne nickel.

Je veux pas jouer les mecs relou, mais serait-il possible d'avoir un script pour gamespot ? Parce que certains jeux ne sont pas dispo sur jeuxvideo.com, mais le sont sur ce dernier. Si on pouvait avoir ça, je crois que là ça serait super parfait.

Bon, c'est pas tout mais faut que je vous laisse, je doit faire ma liste de jeux :) :grinking:

Posted: 2004-02-04 16:09:02
by Guest
D'abord, merci pour ce super script !!!
J'ai rentré la moitié de ma collection !!!
Seulement il semble qu'il y ait un petit prob maintenant : le script démarre correctement, mais ne va pas au bout !
sans doute une modif sur "Jeux video" ?
QQun peut il regarder le pb ???

Merci d'avance !

je comprends pas

Posted: 2004-02-05 01:19:02
by Dano The Prophet
Alors là je ne comprends pas !!!!!
Pourquoi ça marche avec les autres et pas avec moi?????

Je lance une recherche sur un jeux et rien ne s'affiche comme résultat !

Serait il possible de mettre un fichier en téléchargement.......

Merci d'avance.

modif jeuxvideo.com

Posted: 2004-02-05 11:05:48
by Crevette
oui effectivement il semble qu'il y ait eu des modif chez jeuxvideo.com :(, j'arrange mon script dès que j'ai une minute :p

màj script jeuxvideo.com

Posted: 2004-02-05 12:08:48
by Crevette
Voilà je viens de mettre à jour mon script pendant ma pause déjeuner...
c'était assez rapide à faire :hihi:

Code: Select all

// GETINFO SCRIPTING
// JeuxVideo.com import v1.1

(***************************************************
 *  Game importation script for:                   *
 *      JeuxVideo.com, http://www.jeuxvideo.com    *
 *                                                 *
 *  Script by Crevette 05/02/04                    *
 *                                                 *
 *  For use with Ant Movie Catalog 3.4.2           *
 *  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 JeuxVideo;

const
  ConfirmTitre = True;		// False : ne demande pas de confirmation du titre avant recherche
  ExternalPictures = False;
  {  True: Les images seront stockées en tant que fichiers dans le même dossier que le catalogue
     False: Les images seront stockées dans le catalogue (seulement pour les fichiers .amc)
  }
  IsDisplayResults = False; // True : permet de selectionner les champs à importer dans la fiche
  
var
  GameName: string;

function FindLine(Pattern: string; List: TStringList; StartAt: Integer): Integer;
var
  i: Integer;
begin
  result := -1;
  if StartAt < 0 then
    StartAt := 0;
  for i := StartAt to List.Count-1 do
    if Pos(Pattern, List.GetString(i)) <> 0 then
    begin
      result := i;
      Break;
    end;
end;

procedure AnalyzePage(Address: string);
var
  Page: TStringList;
  LineNr, Count: Integer;
  Line, GameAddress, Value: string;
  BeginPos, EndPos: Integer;
begin
  Page := TStringList.Create;
  Page.Text := GetPage(Address);
  if pos('Test avec JeuxVideo.com</title>', Page.Text) > 0 then
    AnalyzeGamePage(Page);
  if pos('<img height=21 src="pics/', Page.Text) > 0 then
  begin
    // Titre Original
    LineNr := FindLine('<b><font face="verdana, arial, helvetica, sans-serif" size="4">', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('<b><font face="verdana, arial, helvetica, sans-serif" size="4">', Line) + 63;
      EndPos := pos('</font></b></td>', Line);
      Value := copy(Line, BeginPos, EndPos - BeginPos);
      SetField(fieldOriginalTitle, Value);
    end;
    // Adresse de la jaquette chez Alapage.com
    LineNr := FindLine('Cliquez pour acheter ce jeu!', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('F&REF_NOVA=', Line) + 11;
      EndPos := pos('" target=', Line);
      Value := 'http://www.alapage.com/get_img.php?cgi=disque_l&num_ref=' + copy(Line, BeginPos, EndPos - BeginPos) + 'r.jpg';
      GetPicture(Value, ExternalPictures);
    end;
    // Adresse du Test Complet
    LineNr := FindLine('Test Complet', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('<a href="', Line) + 9;
      EndPos := pos('"><b>', Line);
      Address := copy(Line, BeginPos, EndPos - BeginPos);
      AnalyzePage(Address);
    end else
      SetField(fieldDescription, 'JeuxVideo.com n''a pas encore de Test Complet pour ' + GameName +'.');
  end else
  begin
    PickTreeClear;
    // Liste des Jeux Trouvés
    LineNr := FindLine('<br>Nous avons trouvé ', Page, 0);
    if LineNr > -1 then
    begin
      Line := Page.GetString(LineNr);
      BeginPos := pos('color="#FF3300">', Line) + 16;
      EndPos := pos('</font></b></font>', Line);
      if (EndPos - BeginPos > 0) then
      begin
        PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos) +' jeux trouvés pour ' + GameName + ' :', '');
        Count := StrToInt(copy(Line, BeginPos, EndPos - BeginPos), 0);
        Delete(Line, 1, EndPos + 18);
        While (Count > 0) do
        begin
          LineNr := FindLine('<p><img src="/pics/', Page, LineNr) ;
          Line := Page.GetString(LineNr);
          BeginPos := pos('<font size="4">', Line) + 15;
          EndPos := pos('</font></b></font><br>', Line);
          PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos), '');
          Delete(Line, 1, EndPos + 22);
          LineNr := FindLine('<a href="http://www.jeuxvideo.com/jeux/', Page, LineNr);
          Repeat
            Line := Page.GetString(LineNr);
            BeginPos := pos('<a href="http://www.jeuxvideo.com/jeux/', Line) + 9;
            If BeginPos > 9 then
            begin
              EndPos := pos('">', Line);
              GameAddress := copy(Line, BeginPos, EndPos - BeginPos);
              BeginPos := EndPos + 2;
              EndPos := pos('</a><br>', Line);
              PickTreeAdd(copy(Line, BeginPos, EndPos - BeginPos), GameAddress);
              Delete(Line, 1, EndPos + 8);
              Count := Count - 1;
            end;
            LineNr := LineNr + 1;
          Until (pos('</font></p></blockquote>', Page.GetString(LineNr)) <> 0);
        end;
      end;
      if PickTreeExec(Address) then
        AnalyzePage(Address);
    end;
  end;
  Page.Free;
end;

procedure AnalyzeGamePage(Page: TStringList);
var
  Pageaff: TStringList;
  Line, Value: string;
  LineNr: Integer;
  IntValue: Integer;
  BeginPos: Integer;
  EndPos: Integer;
  Offset, Count: Integer;
begin
  // Editeur
  LineNr := FindLine('<font color="#CC0000">Editeur:', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target="_blank">', Line) + 16;
    EndPos := pos('</a><br>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldProducer, Value);
  end;
  // Développeur
  LineNr := FindLine('<font color="#CC0000">Développeur', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target="_blank">', Line) + 16;
    EndPos := pos('</a><br>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldDirector, Value);
  end;
  // Site Web Officiel
  LineNr := FindLine('<font color="#CC0000">Site web officiel', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('<a href="', Line) + 9;
    EndPos := pos('" target=', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldUrl, Value);
  end;
  // Type de Jeu
  LineNr := FindLine('<font color="#CC0000">Type', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr);
    BeginPos := pos('target=_new>', Line) + 12;
    EndPos := pos('</a>', Line);
    Value := copy(Line, BeginPos, EndPos - BeginPos);
    SetField(fieldCategory, Value);
  end;
  // Date de Sortie
  LineNr := FindLine('<font color="#CC0000">Sortie', Page, 0);
  if LineNr > -1 then
  begin
    Line := Page.GetString(LineNr+1);
    SetField(fieldSource, Line);
  end;
  // Test Complet (Description)
  LineNr := FindLine('<p align="justify">', Page, 0);
  if LineNr > -1 then
  begin
    Value := '';
    LineNr := LineNr + 1;
    repeat
      Line := Page.GetString(LineNr);
      Value := Value + Line + #13#10#13#10;
      LineNr := LineNr + 3;
    until (pos('<', Page.GetString(LineNr)) <> 0);
  SetField(fieldDescription, Value);
  end;
  // En Bref... (Commentaires)
  LineNr := FindLine('En bref...', Page, 0);
  if LineNr > -1 then
  begin
    Value := '';
    // Graphisme
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></b><br>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Jouabilité
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := 1;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 2;
    // Durée de vie
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;

    LineNr := LineNr + 3;
    // Bande son
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 50;
    EndPos := pos('</font></font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Scénario
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#009900">', Line) + 16;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 44;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 50;
    EndPos := pos('</font></font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    
    LineNr := LineNr + 3;
    // Note générale
    Line := Page.GetString(LineNr);
    BeginPos := pos('color="#FF0000" size="4">', Line) + 25;
    EndPos := pos('</font></strong>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + ' : ';
    // Note
    Line := Page.GetString(LineNr + 2);
    BeginPos := pos('color="#FF0000">', Line) + 16;
    EndPos := pos('</font><font face=', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + '/20' + #13#10;
    SetField(fieldRating, IntToStr(StrToInt(copy(Line, BeginPos, EndPos - BeginPos),0) div 2));
    // Commentaire
    Line := Page.GetString(LineNr + 1);
    BeginPos := pos('<font size="1" face="Tahoma, Arial, Helvetica, sans-serif">', Line) + 59;
    EndPos := pos('</font></td>', Line);
    Value := Value + copy(Line, BeginPos, EndPos - BeginPos) + #13#10#13#10;
    SetField(fieldComments, Value);
  end;
  if IsDisplayResults then
    DisplayResults;
end;


begin
  if CheckVersion(3,4,2) then
  begin
    GameName := GetField(fieldOriginalTitle);
    if GameName = '' then
      GameName := GetField(fieldTranslatedTitle);
    if ConfirmTitre then
    begin
      if Input('JeuxVideo.com Import', 'Entrez le nom du jeu :', GameName) then
        AnalyzePage('http://www.jeuxvideo.com/schr.htm?textfield='+UrlEncode(GameName)+'&range=-');
    end else
      AnalyzePage('http://www.jeuxvideo.com/schr.htm?textfield='+UrlEncode(GameName)+'&range=-');
  end else
    ShowMessage('Ce script requiert la version 3.4.2 ou supérieure de Ant Movie Catalog.');
end.
a+ :cool:

Posted: 2004-02-07 17:47:44
by Le-Sphinx
tout d'abord felicitation pour ce script excelent ^^

@Dano The Prophet : moi aussi ça fais comme toi, dû moins, la fenetre des resultats ne s'affiche pas automatiquement comme certain script d'ailleur. mais tout est bien present dans l'onglet Résultat, donc pas de soucis ^^

Posted: 2004-02-08 13:31:25
by Crevette
Ravi que ce script plaise :D
Pour voir la fenêtre de résultat s'afficher il suffit de remplacer

Code: Select all

IsDisplayResults = False;
par

Code: Select all

IsDisplayResults = True;

Posted: 2004-02-08 15:49:58
by Le-Sphinx
meme en changeant ça n'apparait pas tout le temp, mais ça derange pas ^^

par contre, pkoi ne pas avoir mit la date dans la fenetre année, plutot que dans les origines ? ou meme au deux endroit (facilite le classement pas année)

Posted: 2004-02-08 21:38:23
by Guest
Super merci la Crevette !!! :grinking:
La ca marche super bien !!
G terminé ma collection en un temps record et t'en serais eternellement reconnaissant !!
A l'occasion je regarderai ce ke tu as modifié pour commencer a y comprendre qqchose aux scripts ! :grinking: :grinking: :grinking:

Posted: 2004-02-11 19:14:28
by Merit
Merci Crevette, j'ai updater le script. Je vais me dépécher de compléter ma collection avant que Jeuxvideo.com remodifie encore leur site :)

Posted: 2004-02-16 14:00:04
by Le-Sphinx
Comment je peux faire pour lui dire de mettre tel ou tel infos a tel ou tel emplacement ??

Posted: 2004-02-16 15:38:36
by antp
A priori il suffit de modifier les "SetField...."

Posted: 2004-02-17 15:03:15
by Guest
tout à fait il suffit de changer les "SetField(field, value);" aux lignes suivantes

69 : titre original
91 : description => pas de test complet
158 : réalisateur
168 : producteur
178 : adresse web
188 : catégorie
195 : origine => date de sortie
208 : description => test complet
310 : note
316 : commentaires

voici la liste des fields disponibles
fieldNumber
fieldMedia
fieldMediaType
fieldSource
fieldDate
fieldBorrower
fieldRating
fieldOriginalTitle
fieldTranslatedTitle
fieldDirector
fieldProducer
fieldCountry
fieldCategory
fieldYear
fieldLength
fieldActors
fieldURL
fieldDescription
fieldComments
fieldVideoFormat
fieldVideoBitrate
fieldAudioFormat
fieldAudioBitrate
fieldResolution
fieldFrameRate
fieldLanguages
fieldSubtitles
fieldSize
fieldDisks

voilà a+ et bonne modif. :p

Posted: 2004-03-26 21:17:53
by CobraRoyal
Merci pr le script!

dsl de ne pas l'avoir dit + tôt, j'avais plus de connec et je viens juste de la recuperer.

Apperement, ct trop long, car jeuxvideos.com a du changer son script parce qu'il ne télécharge aucune info (je n'ai que la sélection du jeu ds la liste). Si qq peut le remettre à jour, ce serait sympa...