Bah oui justement, c'est pour ça que tu vois un gros pointdraco31.fr wrote: PS: Et £$µ%ù !!!! (mot très grossier !), le forum modifie automatiquement les "&...".
[REL] [FR] CinEmotions.com
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
Bah c'est dommage parce que ça le modifie automatiquement alors que c'est entre des balise 'CODE'
N'oublie pas de mettre à jour le script sur ton FTP (si c'est pas déjà fait).
Pour ce qui est des infos DVD/Livres/BOF, Cinemotions utilise en fait les infos d'Amazon.fr, donc je ne vois pas l'interet d'implémenter la récup de ces données : il suffit de lancer le script Amazon
N'hesitez pas à me faire part de vos remarques concernant l'ajout de telle option, ou la présence de tel ou tel bug.
Et merci à tout ceux qui utilisent mon script
N'oublie pas de mettre à jour le script sur ton FTP (si c'est pas déjà fait).
Pour ce qui est des infos DVD/Livres/BOF, Cinemotions utilise en fait les infos d'Amazon.fr, donc je ne vois pas l'interet d'implémenter la récup de ces données : il suffit de lancer le script Amazon
N'hesitez pas à me faire part de vos remarques concernant l'ajout de telle option, ou la présence de tel ou tel bug.
Et merci à tout ceux qui utilisent mon script
Les scripts russes risqueraient d'avoir des problèmes alors je pense, vu que ce forum est défini comme utilisant le jeu de caractères ouest-européen.draco31.fr wrote:Bah c'est dommage parce que ça le modifie automatiquement alors que c'est entre des balise 'CODE'
Je viens de le fairedraco31.fr wrote: N'oublie pas de mettre à jour le script sur ton FTP (si c'est pas déjà fait).
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
euh Antoine ... j'ai besoin d'aide !
Avec mon script, le dernier en date, je ne récupère pas toujours le titre traduit...
Le problème vient du fait que entre le fichier source HTML que je visualise avec Firefox, et celui que récupère AMC il manque des infos (notament le titre).
J'ai pu le voir sur City Hall notament.
Le titre est normalement entre les balises : et
(J'utilise "class="titre_film">" comme 'morceau' de balise)
As-tu une idée d'où peut venir cette différence dans le source ?
(je précise que cela ne le fait que pour certaines fiches de films)
Et surtout comment la contourner ?
Avec mon script, le dernier en date, je ne récupère pas toujours le titre traduit...
Le problème vient du fait que entre le fichier source HTML que je visualise avec Firefox, et celui que récupère AMC il manque des infos (notament le titre).
J'ai pu le voir sur City Hall notament.
Le titre est normalement entre les balises :
Code: Select all
<A HREF="/modules/Films/fiche/8966/City-Hall.html" class="titre_film">
Code: Select all
</A>
As-tu une idée d'où peut venir cette différence dans le source ?
(je précise que cela ne le fait que pour certaines fiches de films)
Et surtout comment la contourner ?
Avec Firefox j'ai pas le titre non plus sur cette page
Sinon pour avoir la page telle qu'AMC la reçoit, il faut changer l'user-agent de Firefox (ça se fait facilement avec l'extension suivante : https://addons.mozilla.org/firefox/59/) et mettre ceci:
(on peut passer d'un user agent à l'autre facilement avec cette extension)
L'autre possibilité c'est un problème de referer, mais on peut voir si c'est de là que vient le problème en copiant-collant l'URL du film dans une nouvelle fenêtre.
Sinon pour avoir la page telle qu'AMC la reçoit, il faut changer l'user-agent de Firefox (ça se fait facilement avec l'extension suivante : https://addons.mozilla.org/firefox/59/) et mettre ceci:
Code: Select all
Mozilla/5.0 (compatible; Ant Movie Catalog using Indy Library)
L'autre possibilité c'est un problème de referer, mais on peut voir si c'est de là que vient le problème en copiant-collant l'URL du film dans une nouvelle fenêtre.
Correction
J'ai modifie le script pour qu'il marche en utilisant le moteur de cinemotions et non pas cinemoteur comme initialement. Si vous constatez des bugs n'hesitez pas a me contacter.
Code: Select all
(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=Draco31.fr, bbullot
Title=CinEmotions
Description=Recherche et Données CinEmotions
Site=http://www.cinemotions.com/
Language=FR
Version=0.8 du 11/01/2007
Requires=3.5
Comments=Ce script nécessite le fichier ScorEpioNCommonScript.pas|.==.| : ' ( ( ( ( /\ | "==()))))): © ScorEpioN ©| ( ( ( ( \_/
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]
Type de Lancement=0|0|0=Demande le titre avant de lancer le script|1=Ne demande pas le titre avant de lancer le script|2=Lancement automatique sur l'adresse web
Format du Titre=3|3|0=Titre en minuscule|1=Titre en majuscule|2=Première lettre du titre en majuscule|3=Première lettre de chaque mot du titre en majuscule|4=Formatage identique au site d'origine
Recherche sur le titre=1|0|0=Traduit|1=Original
Affiche=1|0|0=Prend la petite affiche|1=Prend la grande affiche
Liste des Acteurs=1|0|0=Courte|1=Longue
Note=2|2|0=Note de CinEmotions|1=Note des membres|2=Note moyenne
Liste des notes=1|0|0=Pas de détail des notes|1=Liste des notes (CinEmotions, Membres) dans le champ commentaire
Critiques=0|1|0=Oui|1=Non
***************************************************)
program CinEmotions;
uses
ScorEpioNCommonScript;
const
VersionScript = '0.7 du 22/11/2006';
NomScript = 'CinEmotions';
urlDomain = 'http://www.cinemotions.com';
urlCESearch = 'http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/';
pathCESearch = '/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/';
urlCESearchGo = '1.html';
timetosleep = 500;
var
MovieName, Titre, urlTitre, Resume, APage, CPage, Comments : string;
CxNote, compteur, premiereExecution, numTemp, lien_URL, Critique : Integer;
NoteC, NoteM, Note, NumPage: real;
listeResultat : TStringList;
//--OK--------------------------------------------------------------------------
// ANALYSE RESULTAT DE RECHERCHE
//------------------------------------------------------------------------------
procedure AnalyzeSearchPage(urlSearch: string);
var
Line, PageNo, temp : string;
nbchoix : integer;
begin
Line := GetPage(urlSearch);
PickTreeClear;
// Controle le nb de résultat dans la liste
nbchoix := 0;
urlTitre := '';
Titre := '';
// Supprime le haut de la page
Delete(Line,1,Pos('<font class=smallwhite><b>Résultats sur titres et artistes</b></font>',Line));
// Prend le numéro de la page en cours
temp := Copy(urlSearch,Pos('.html',urlSearch)-1,1);
NumPage := StrToFloat(temp);
// Test si existe page suivante
if ( Pos(pathCESearch,Line) > 0 ) Then
PageNo := ' (Page N°'+temp+')'
else
begin
if (NumPage = 1) Then
PageNo := ''
else
PageNo := ' (Dernière Page)';
end
PickTreeAdd('Résultat trouvé pour : '+MovieName+PageNo,'');
// Ne garde que le tableau de résultats
Delete(Line,1,Pos('<TABLE border=0 width=100% cellspacing=0 cellpadding=0>',Line));
// Condition pour fin de la liste de résultats
While (Pos('<table width=100% border=0 cellspacing=0 cellpadding=1>',Line) > 1) do
begin
// Supprime jusqu'à la prochaine ligne du tableau
Delete(Line,1,Pos('<table width=100% border=0 cellspacing=0 cellpadding=1>',Line));
// Récupère titre et url
TraiteInfo(Line);
PickTreeAdd(Titre,urlTitre);
nbchoix := nbchoix+1;
end
// Supprime jusqu'à la fin de la page
Delete(Line,1,Pos('<font class=link6>Pages de résultats:</font>',Line));
// Supprime jusqu'à la prochaine page
Delete(Line,1,Pos('<font class=link6>',Line));
// Sauve l'url de la page suivante si possible
if ( Pos(pathCESearch,Line) > 0 ) Then
begin
urlTitre := urlDomain + MonFindInfo('<A HREF="','" class=link10>',Line,0);
PickTreeMoreLink(urlTitre);
end
// Verifie qu'un titre est trouvé
if nbchoix = 0 Then
ShowInformation('Aucun titre correspondant à "'+MovieName+'" !'+#13#10+'Relancez le script en donnant un autre mot clé !');
if ( NumPage > 1) Then
PickTreeAdd('Page Précédente',Copy(urlSearch,1,Pos('.html',urlSearch)-2)+FloatToStr(NumPage-1)+'.html')
else
begin
if (nbchoix = 1) Then
begin
AnalyzeMoviePage(urlTitre);
nbchoix := 0;
end
end
// Affiche la liste de choix puis verifie qu'il y a une selection
if (nbchoix <> 0) Then
begin
if (PickTreeExec(urlTitre)) then
begin
// Si choisie, lance la recherche sur la page suivante
if (pos(urlCESearch,urlTitre) > 0) Then
begin
nbchoix := 0;
AnalyzeSearchPage(urlTitre);
end
else
// Analyse la page du film selectionné
AnalyzeMoviePage(urlTitre);
end
end
end;
//--OK--------------------------------------------------------------------------
// TRAITE L'INFO : SEPARE L'URL DU TITRE
//------------------------------------------------------------------------------
procedure TraiteInfo(infos: string);
var
temp1, temp2 : string;
begin
urlTitre := '';
Titre := '';
urlTitre := MonFindInfo('<A HREF="','" onMouseOver="window.status=',infos,0);
temp1 := MonFindInfo('onMouseOver="window.status=''','''; return true;"',infos,0);
temp2 := MonFindInfo('<font class=link4dtext>','</font>',infos,0);
Titre := temp1+' ('+temp2+')';
Titre := StringReplace(Titre,'\','');
end;
//------------------------------------------------------------------------------
// ANALYSE LA PAGE DU FILM
//------------------------------------------------------------------------------
procedure AnalyzeMoviePage(url : string);
var
t1, t2, t3, min, heure, annee, temp, Line, pays, le_type, duree, prod : string;
i, j : Real;
begin
temp := '';
Comments := '';
Line := GetPage(url);
// Supprimme les parties inutiles
Delete(Line,1,Pos('<TABLE width=100% border=0 cellspacing=0 cellpadding=0 bgcolor="#3C60F0">',Line));
//--OK--------------------------------------------------------------------------
// Stoque l'url
Setfield(fieldURL,url);
//--OK--------------------------------------------------------------------------
// Stoque l'image si necessaire
if CanSetPicture then
begin
temp := MonFindInfo('/affiches/1.html"><IMG SRC="','" border=0',Line,0);
if GetOption('Affiche') = 0 Then
GetPicture(temp)
else
begin
temp := StringReplace(temp,'/h200/','/');
GetPicture(temp);
end
temp := '';
end
//--OK--------------------------------------------------------------------------
// Prend le titre traduit
SetField(fieldTranslatedTitle,FormatTitre(Trim(MonFindInfo('class="titre_film">','</A>',Line,0)),GetOption('Format du Titre')));
//--OK--------------------------------------------------------------------------
// Recherche et Prend le titre original
if (Pos('<H1 style="color: #333333; font-size:14px">',Line) > 0) Then
SetField(fieldOriginalTitle,FormatTitre(Trim(MonFindInfo('<H1 style="color: #333333; font-size:14px">','</H1>',Line,0)),GetOption('Format du Titre')))
else
SetField(fieldOriginalTitle,'');
// Récupère Année + Pays + Genre + Durée
temp := MonFindInfo('<!-- ANNEE -->','</font>',Line,0);
// temp := StringReplace(temp,' ','');
temp := StringReplace(temp,#13#10,'');
temp := StringReplace(temp,Copy(temp,1,1),'');
//--OK--------------------------------------------------------------------------
// Prend l'année
Annee := Copy(temp,1,4);
SetField(fieldYear,Annee);
//--OK--------------------------------------------------------------------------
// Prend le pays
pays := MonFindInfo('- ','- ',temp,0);
temp := Copy(temp,Pos(pays,temp)+length(pays),length(temp));
pays := AnsiLowerCase(pays);
pays := StringReplace(pays, 'états-unis', 'USA');
pays := StringReplace(pays, 'etats-unis', 'USA');
pays := StringReplace(pays, 'hong kong', 'Hong-Kong');
pays := StringReplace(pays,' / ',', ');
pays := StringReplace(pays,'/',', ');
pays := transformCountry(pays);
SetField(fieldCountry,pays);
//--OK--------------------------------------------------------------------------
// Prend le genre
le_type := MonFindInfo('- ','- ',temp,0);
le_type := StringReplace(le_type,'/',', ');
SetField(fieldCategory,le_type);
temp := Copy(temp,Pos(le_type,temp)+length(le_type),length(temp));
//--OK--------------------------------------------------------------------------
// Prend la durée
duree := Copy(temp,Pos('- ',temp)+2,length(temp));
duree := StringReplace(duree,' ','');
duree := StringReplace(duree,#13#10,'');
if Pos('h',duree) > 0 Then
begin
heure := Copy(duree,1,Pos('h',duree)-1);
min := Copy(duree,Pos('h',duree)+1,length(duree));
i := StrToFloat(heure);
j := StrToFloat(min);
Setfield(fieldLength,FloatToStr(i*60+j));
end
else
begin
duree := StringReplace(duree,'mn','');
duree := StringReplace(duree,'min','');
if Pos('x',duree) > 0 Then
begin
heure := Copy(duree,1,Pos('x',duree)-1);
min := Copy(duree,Pos('x',duree)+1,length(duree)-2);
i := StrToFloat(heure);
j := StrToFloat(min);
SetField(fieldLength,FloatToStr(j));
if i <> 0 Then
begin
Comments := 'Format : '+heure+' épisode(s) de '+min+' minutes';
SetField(fieldComments,Comments);
end
end
else
begin
Setfield(fieldLength,duree);
end;
end;
//--OK--------------------------------------------------------------------------
// Prend la compagnie
temp := MonFindInfo('Sociétés de production','</table>',Line,1);
Prod := '';
While (Pos('<font class=link6>',Temp) > 0) do
begin
Prod := Prod+', '+MonFindInfo('<font class=link6>','</font>',temp,0);
Delete(temp,1,Pos('</font>',temp));
end
Setfield(fieldProducer,Copy(Prod,3,length(Prod)));
//--OK--------------------------------------------------------------------------
// Prend les notes
CxNote := GetOption('Note');
Note := -1;
// Stoque chaque note
temp := '';
temp := MonFindInfo('<font class=smallblue>CinEmotions:</font>','<FORM name=jenote',Line,1);
// Note CinEmotion
t1 := MonFindInfo('ALT="','">',temp,0);
if (t1 = 'Pas encore noté') Then
NoteC := -1
else
NoteC := StrToFloat(MonFindInfo('Moyenne : ','(',t1,0));
// Note Membre
Delete(temp,1,Pos('<font class=smallblue> Membres:</font>',temp));
t2 := MonFindInfo('ALT="','">',temp,0);
if (t2 = 'Pas encore noté') Then
NoteM := -1
else
NoteM := StrToFloat(MonFindInfo('Moyenne : ','(',t2,0));
// Donne le détail des notes dans le champ commentaire
if GetOption('Liste des notes') = 1 Then
begin
if Comments <> '' Then
Comments := Comments+#13#10#13#10;
if NoteC <> -1 Then
Comments := Comments+StringReplace(t1,'Moyenne','Note CinEmotions')+#13#10;
if NoteM <> -1 Then
Comments := Comments+StringReplace(t2,'Moyenne','Note Membres')+#13#10;
Comments := Comments+#13#10;
NoHTML(Comments);
SetField(fieldComments,Comments);
end
// Rempli le champ Note suivant l'option selectionnée
// Reteste tant qu'une note n'est pas choisie
While CxNote <> -1 Do
begin
if ((NoteC = -1) and (NoteM = -1)) Then
CxNote := -1
else
begin
// Moyenne NoteC + NoteM
if (CxNote = 2) Then
begin
// Test si les 2 notes existent
if ((NoteC <> -1) and (NoteM <> -1)) Then
begin
Note := (NoteC+NoteM)/2;
CxNote := -1;
end
else
begin
// Si que la note CinEmotions, la prend par défaut
if (NoteC > NoteM) Then
begin
Note := NoteC;
CxNote := -1;
end
else
begin
// Test si la note Membre existe et la prend par défaut
if (NoteM <> -1) Then
begin
Note := NoteM;
CxNote := -1;
end
else
// Si pas de Note CinEmotions ou Membre : pas de note
CxNote := -1;
end
end
end
else
begin
// Si Note CinEmotion voulue
if CxNote = 0 Then
begin
if NoteC <> -1 Then
Note := NoteC;
CxNote := -1;
end
else
begin
// Si Note Membres voulue
if CxNote = 1 Then
begin
if NoteM <> -1 Then
Note := NoteM;
CxNote := -1;
end
end
end
end
end
if Note <> -1 Then
// NB: La Note du site est sur 20 !
SetField(fieldRating,FloatToStr(Note/2));
//--OK--------------------------------------------------------------------------
// Prend les réalisateurs
temp := '';
t1 := '';
temp := MonFindInfo('Réalisation :','</font>',Line,0);
While Pos('<A HREF=',temp) > 0 Do
begin
t1 := t1+', '+MonFindInfo('class=link10>','</A>',temp,0);
Delete(temp,1,Pos('</A>',temp));
end
SetField(fieldDirector,Copy(t1,3,length(t1)));
//--OK--------------------------------------------------------------------------
// Prend le synopsis
temp := '';
temp := MonFindInfo('<h2 style="color: #000080; font-size=13" >• L''histoire','</font>',Line,1);
temp := MonFindInfo('<font class=link6>','</font>',temp,0);
NoHTML(temp);
Setfield(fieldDescription,temp);
//--OK--------------------------------------------------------------------------
// Prend la liste des acteurs
temp := '';
t1 := '';
t2 := '';
t3 := '';
if GetOption('Liste des Acteurs') = 1 Then
begin
t3 := StringReplace(url,urlDomain,'');
t3 := StringReplace(t3,'.html','/artistique.html');
if Pos (t3,Line) > 0 Then
begin
if CanSetField(fieldActors) Then
begin
APage := GetPage(urlDomain+t3);
temp := MonfindInfo('<TABLE width="90%">','</TABLE>',APage,0);
While Pos('<A HREF=',temp) > 0 do
begin
// Prend le nom de l'acteur
t1 := t1+', '+MonFindInfo('onMouseOut="window.status=''''">','</A>',temp,0);
Delete(temp,1,Pos('</A>',temp));
// Prend son rôle si il existe
if ((Pos('<font face="verdana,geneva,arial" size=2>',temp) < Pos('</TR>',temp)) And (Pos('<font face="verdana,geneva,arial" size=2>',temp) <> 0)) Then
t1 := t1+' ('+MonFindInfo('<font face="verdana,geneva,arial" size=2>','</font>',temp,0)+')';
// Supprimme les données de cet acteur dans temp
Delete(temp,1,Pos('</TR>',temp));
end
t1 := Copy(t1,3,length(t1));
end
end
end
else
begin
Delete(Line,1,Pos('Réalisation :',Line));
t1 := MonFindInfo('Avec ','</font>',Line,1);
{ While Pos('<A HREF=',temp) > 0 do
begin
t1 := t1+', '+MonFindInfo('<h2 class=link5>','</h2></A>',temp,0);
t2 := MonFindInfo('(',')',temp,0);
t1 := t1+' ('+t2+')';
Delete(temp,1,Pos(t2+')',temp));
end }
HTMLDecode(t1);
HTMLRemoveTags(t1);
t1 := StringReplace(t1,'Avec ','');
t1 := StringReplace(t1,#13,'');
t1 := StringReplace(t1,#10,'');
t1 := StringReplace(t1,#09,'');
end
NoHTML(t1);
SetField(fieldActors,t1);
//--OK--------------------------------------------------------------------------
// Prend les critiques si il y en a
if (GetOption('Critiques') = 0) and CanSetField(fieldComments) Then
begin
temp := '';
t1 := '';
t2 := '';
t3 := '';
t3 := StringReplace(url,urlDomain,'');
t3 := StringReplace(t3,'.html','/critiques.html');
if Pos (t3,Line) > 0 Then
begin
CPage := GetPage(urlDomain+t3);
temp := MonFindInfo('<img src=/img/writingicon.gif border="0" align=absmiddle>','<TD width=124 align=center>',CPage,0);
if Pos('<h1 style="color: #000000; font-size:16px">A Notre Avis ...</h1>',temp) > 0 Then
begin
t1 := t1+'Critique CinEmotions :'+#13#10+#13#10;
Delete(temp,1,Pos('<TABLE width=100% cellspacing=0 cellpadding=0 border=0>',temp));
t2 := MonFindInfo('class=journal_link2>','</A>',temp,0);
t1 := t1+'"'+t2+'"'+' par '+MonFindInfo('<font class=link5d><b>','</b></font>',temp,0)+#13#10;
t2 := '';
t1 := t1+MonFindInfo('<font class=link6>','</font>',temp,0)+#13#10+#13#10;
Delete(temp,1,Pos('</TABLE>',temp));
// Delete(temp,1,Pos('</TABLE>',temp));
end
if Pos('<h1 style="color: #000000; font-size:16px">A Votre Avis ...</h1>',temp) > 0 Then
begin
t1 := t1+#13#10+'Critique(s) Spectateur(s):'+#13#10+#13#10;
Delete(temp,1,Pos('<h1 style="color: #000000; font-size:16px">A Votre Avis ...</h1>',temp));
While Pos('<TABLE width=100% cellspacing=0 cellpadding=0 border=0>',temp) > 0 Do
begin
if (Pos('<font class=journal_link2>',temp) < Pos('<IMG SRC="/img/line.gif" border=0>',temp)) and (Pos('<font class=journal_link2>',temp) <> 0) Then
t2 := '"'+MonFindInfo('<font class=journal_link2>','</font>',temp,0)+'" '
else
// begin
// if (Pos('<font class=link6>',temp) < Pos('class=journal_link2>',temp)) and (Pos('<font class=link6>',temp) <> 0) then
// t2 := ''
// else
t2 := '"'+MonFindInfo('class=link10><b>','</b>',temp,0)+'" ';
// end
t1 := t1+t2+'par '+MonFindInfo('<font class=link5d>','</font>',temp,0)+#13#10;
t2 := '';
t1 := t1+MonFindInfo('<font class=link6>','</font>',temp,0)+#13#10+#13#10;
Delete(temp,1,Pos('<p>',temp));
end
end
t1 := Comments+t1+#13#10;
NoHTML(t1);
SetField(FieldComments,t1);
end
end
end;
//--OK--------------------------------------------------------------------------
// Supprimme les balises HTML
//------------------------------------------------------------------------------
procedure NoHTML(var page: string);
begin
page := StringReplace(page,'<br>',#13#10);
page := StringReplace(page,'<b>','');
page := StringReplace(page,'</b>','');
page := StringReplace(page,'<i>','');
page := StringReplace(page,'</i>','');
page := StringReplace(page,'<u>','');
page := StringReplace(page,'</u>','');
page := StringReplace(page,'<br />','');
HTMLDecode(page);
end;
//--OK--------------------------------------------------------------------------
// TROUVE LA CHAINE VOULUE (Merci ScorEpioN)
// option = 1 : Garde début et fin
// option = 0 : NE garde PAS début et fin
//------------------------------------------------------------------------------
function MonFindInfo(Debut, Fin, Line : string ; option : integer) : string;
var
infos : String;
BeginPos, EndPos : Integer;
begin
infos := '';
BeginPos := pos(Debut, Line);
if BeginPos > 0 then
begin
if (option = 1) then
// Garde 'Debut' et 'Fin'
begin
delete(Line, 1, BeginPos-1);
EndPos := pos(Fin, Line);
infos := copy(Line,0,EndPos+length(Fin)-1);
end
else
// Supprimme 'Debut' et 'Fin'
// Vérifie si paramètre 'option' n'est pas invalide
if (option = 0) then
begin
delete(Line, 1, BeginPos+length(Debut)-1);
EndPos := pos(Fin, Line);
infos := copy(Line,0,EndPos-1);
end
end
result := Trim(infos);
end;
//--OK--------------------------------------------------------------------------
// Formatte les textes (Merci ScorEpioN)
//------------------------------------------------------------------------------
procedure Format(name : string);
var
option: integer;
begin
option := GetOption('Format du Titre');
name := formatTitre(name,option);
end;
//--OK--------------------------------------------------------------------------
// PROGRAMME PRINCIPAL
//------------------------------------------------------------------------------
begin
if CheckVersion(3,5,0) then
begin
NumPage := 1;
Comments := '';
MovieName := recupTitreRecherche(GetOption('Recherche sur le titre'));
// Choix du lancement
// Demande du titre
if (GetOption('Type de Lancement') = 0) then
begin
if Input(NomScript+' par draco31.fr', 'Entrez le titre du film :',MovieName) then
begin
if Pos(urlDomain, MovieName) > 0 then
AnalyzeMoviePage(MovieName)
else
AnalyzeSearchPage(urlCESearch+urlEncode(MovieName)+'/'+FloatToStr(NumPage)+'.html');
end
end
else
begin
// Ne demande pas le titre
if (GetOption('Type de Lancement') = 1) then
AnalyzeSearchPage(urlCESearch+urlEncode(MovieName)+'/'+FloatToStr(NumPage)+'.html')
else
begin
// Directement sur l'adresse web
if (GetOption('Type de Lancement') = 2) then
begin
urlTitre := GetField(fieldURL);
if Pos(urlDomain,urlTitre) > 0 Then
AnalyzeMoviePage(urlTitre)
else
ShowError('L''adresse web ne correspond pas à une page web de CinEmotions !');
end
end
end
end
else
ShowMessage('This script requires a newer version of Ant Movie Catalog (at least the version 3.5.0)');
end.
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
Merci bbulot d'avoir mis la main à la pâte !
Je te rassure : tu n'avais pas à attendre mon approbation pour patcher le script !
J'ai testé ta version rapidement ...
... à priori pour la recherche ça passe mais j'ai pas testé "à fond".
Par contre il y des problèmes ailleurs, mais je ne sais pas si tu avais modifié le reste du script.
PArmis ce que j'ai vu :
- l'url retournée n'est pas valide (il manque http://www.cinemotions.com devant)
- le résumé n'est pas récupéré
- quelques bugs mineur dans la récupération des critiques (ils ont enfin homogénéisé les balises HTML entre les critiques du site et celle des spectateurs ... c'est pas grand chose à modifier)
J'ai pas le temps de me pencher dessus ce soir, et je ne sais si j'aurai plus de temps ce week-end ... donc si vous voulez faire les modifs vous même ce n'est absoluement pas un problème : je suis le créateur initial du script, mais je vous demanderai pas de royalties si vous le modifez !!!
Ce que je me demande par contre, c'est si le CineMoteur reviendra ou non, car au final j'aimerai savoir si il vaut mieux utiliser le CineMoteur ou CinEmotions pour les recherches (CineMoteur me semblai plus facile).
Si CineMoteur refonctionne, il faudrait tester quel script est le plus rapide !
EDIT: Pour le résumé c'était dû à la conversion automatique des &xyz en un autre caractère par le forum : donc copié-collé foireux !
mais je pense que de base ça marche.
Pour l'url, il faut changer :
Par :
Pour le bug des critiques, il faut modifier la ligne :
Par:
J'ai envoyé le script de bbulot avec les modification ci-dessus sur mon FTP à cette adresse : Suppresion du lien > voir le 1er post
Je te rassure : tu n'avais pas à attendre mon approbation pour patcher le script !
J'ai testé ta version rapidement ...
... à priori pour la recherche ça passe mais j'ai pas testé "à fond".
Par contre il y des problèmes ailleurs, mais je ne sais pas si tu avais modifié le reste du script.
PArmis ce que j'ai vu :
- l'url retournée n'est pas valide (il manque http://www.cinemotions.com devant)
- le résumé n'est pas récupéré
- quelques bugs mineur dans la récupération des critiques (ils ont enfin homogénéisé les balises HTML entre les critiques du site et celle des spectateurs ... c'est pas grand chose à modifier)
J'ai pas le temps de me pencher dessus ce soir, et je ne sais si j'aurai plus de temps ce week-end ... donc si vous voulez faire les modifs vous même ce n'est absoluement pas un problème : je suis le créateur initial du script, mais je vous demanderai pas de royalties si vous le modifez !!!
Ce que je me demande par contre, c'est si le CineMoteur reviendra ou non, car au final j'aimerai savoir si il vaut mieux utiliser le CineMoteur ou CinEmotions pour les recherches (CineMoteur me semblai plus facile).
Si CineMoteur refonctionne, il faudrait tester quel script est le plus rapide !
EDIT: Pour le résumé c'était dû à la conversion automatique des &xyz en un autre caractère par le forum : donc copié-collé foireux !
mais je pense que de base ça marche.
Pour l'url, il faut changer :
Code: Select all
//--OK--------------------------------------------------------------------------
// Stoque l'url
Setfield(fieldURL,url);
Code: Select all
//--OK--------------------------------------------------------------------------
// Stoque l'url
Setfield(fieldURL,urlDomain+url);
Code: Select all
t2 := MonFindInfo('class=journal_link2>','</A>',temp,0);
Code: Select all
t2 := MonFindInfo('class=link10><b>','</b>',temp,0);
J'ai envoyé le script de bbulot avec les modification ci-dessus sur mon FTP à cette adresse : Suppresion du lien > voir le 1er post
Last edited by draco31.fr on 2007-01-22 21:44:37, edited 1 time in total.
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
v0.8.2 du 22/01/2007
Ajout de l'option "Moteur de Recherche" pour permettre de choisir le moteur à utiliser.
Suppression du script "CinEmotions_2" qui devient donc redondant.
Merci d'utiliser ce script, n'hesitez pas à donner votre avis pour l'améliorer ou tout simplement pour remercier les personnes qui y ont contribuées
@ Ant :
Je pense que tu peux maintenant mettre cette version sur le FTP du site, et même l'inclure dans le prochain pack à venir
Ajout de l'option "Moteur de Recherche" pour permettre de choisir le moteur à utiliser.
Suppression du script "CinEmotions_2" qui devient donc redondant.
Merci d'utiliser ce script, n'hesitez pas à donner votre avis pour l'améliorer ou tout simplement pour remercier les personnes qui y ont contribuées
@ Ant :
Je pense que tu peux maintenant mettre cette version sur le FTP du site, et même l'inclure dans le prochain pack à venir
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
-
- Posts: 191
- Joined: 2005-08-11 19:27:15
- Location: Toulouse (31), France
Bonjour à tous !
Papy200 m'a signalé par mail un problème sur la récupération du titre.
J'ai donc mis à jour le script en version 0.8.3 avec une petite modif pour récuperer le script.
Le script est toujours disponible au même endroit (cf le 1er message du sujet !)
@ Antoine :
Tu peux copier le script sur ton FTP, pour qu'il soit dispo avec UPDATE_SCRIPT ? (que je trouve excellent d'ailleurs !!!)
Papy200 m'a signalé par mail un problème sur la récupération du titre.
J'ai donc mis à jour le script en version 0.8.3 avec une petite modif pour récuperer le script.
Le script est toujours disponible au même endroit (cf le 1er message du sujet !)
@ Antoine :
Tu peux copier le script sur ton FTP, pour qu'il soit dispo avec UPDATE_SCRIPT ? (que je trouve excellent d'ailleurs !!!)