[FR] script "Monsieur Cinéma + affiche Cinéfil" v4
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
[FR] script "Monsieur Cinéma + affiche Cinéfil" v4
Vous trouverez ici la dernière version du script 'Mr Cinéma + affiche Cinéfil'
Version actuelle : 4.6 du 10 décembre 2004
cette version est désormais incluse dans amc 3.4.3 du 22 décembre 2004
paramètres que vous pouvez(devez) modifier selon vos besoins:
ImportPicture
0 aucune image importée
1 import image MrCinema seule (défaut)
2 import image Cinefil seule
3 import de toutes les images
FullStory
True: importer l'histoire complète
False: importer le résumé (s'il existe, sinon import histoire complète) (défaut)
ImportAnecdote
True: importer l'anecdote à la suite de l'avis de la rédaction (commentaires)
False: ne pas importer l'anecdote (défaut)
FullGenerique
True: importer le générique complet
False: importer le générique de la page essentiel (défaut)
ExternalPictures
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) (défaut)
Always
False: écrire les champs seulement si la valeur lue est non vide (défaut)
True: écrire les champs dans tous les cas (sauf affiche)
ce dernier paramètre, lorsqu'il est positionné à True, permet donc de remettre à blanc les champs non valorisés par MrCinéma (cas d'une recréation de la base)
En résumé, les options par défauts sont les options minimum. Mais n'oubliez pas que si vous demandez le générique complet, l'anecdote et/ou le générique complet, cela fait autant de pages à lire et donc ça peut devenir pénalisant si vous avez un modem 56K RTC. A vous de voir.
Version actuelle : 4.6 du 10 décembre 2004
cette version est désormais incluse dans amc 3.4.3 du 22 décembre 2004
paramètres que vous pouvez(devez) modifier selon vos besoins:
ImportPicture
0 aucune image importée
1 import image MrCinema seule (défaut)
2 import image Cinefil seule
3 import de toutes les images
FullStory
True: importer l'histoire complète
False: importer le résumé (s'il existe, sinon import histoire complète) (défaut)
ImportAnecdote
True: importer l'anecdote à la suite de l'avis de la rédaction (commentaires)
False: ne pas importer l'anecdote (défaut)
FullGenerique
True: importer le générique complet
False: importer le générique de la page essentiel (défaut)
ExternalPictures
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) (défaut)
Always
False: écrire les champs seulement si la valeur lue est non vide (défaut)
True: écrire les champs dans tous les cas (sauf affiche)
ce dernier paramètre, lorsqu'il est positionné à True, permet donc de remettre à blanc les champs non valorisés par MrCinéma (cas d'une recréation de la base)
En résumé, les options par défauts sont les options minimum. Mais n'oubliez pas que si vous demandez le générique complet, l'anecdote et/ou le générique complet, cela fait autant de pages à lire et donc ça peut devenir pénalisant si vous avez un modem 56K RTC. A vous de voir.
Last edited by scorpion7552 on 2004-12-28 18:45:02, edited 11 times in total.
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
un petit état des lieux:
[technique]
j'ai donc essayé la fonction PostPage comme préconisé par antp; c'est bien cette fonction qu'il faut utiliser mais je suis tombé sur un leger problème
la page 'fiche film' est constituée d'un fond fixe et d'une partie dynamique qui contient le formulaire, le javascript et les liens: c'est dans cette partie dynamique que sont ramenées les infos
il y a une 1ère série de choix: "l'essentiel", "donner votre avis" et "avis des spectateurs" : pour ceux-ci, il faut passer en argument à PostPage '__EVENTTARGET=tabStrip1:_ctl1 (ou ctl2 ou ctl3) et ça, ça marche (sauf que c'est pas ces pages que je veux
)
note: la page "essentiel" est celle qu'on récupère par appel direct et cette page contient des "sous-choix" : les liens prévus sont du style "subTagStrip:_ctl1 (ou ctl2, ...)"
si je passe ça en argument à PostPage je ne récupère pas les infos (la partie dynamique est vide)
j'ai essayé de passer en argument "__EVENTTARGET=tagStrip1:-ctl1&__EVENTARGUMENT=subTagStrip:_ctl1" puis en remplaçant & par & et même de cumuler les 2 dans __EVENTTARGET, mais rien ne marche
Est-ce que quelqu'un aurait une idée géniale ???
[/technique]
dans l'état actuel des choses le script est malgré tout exploitable et puisque l'adresse de la page est mémorisée on peut récupérer ce qui intéresse par un bon vieux copier/coller mais c'est quand même un petit peu trop manuel ...
A suivre...
[technique]
j'ai donc essayé la fonction PostPage comme préconisé par antp; c'est bien cette fonction qu'il faut utiliser mais je suis tombé sur un leger problème
la page 'fiche film' est constituée d'un fond fixe et d'une partie dynamique qui contient le formulaire, le javascript et les liens: c'est dans cette partie dynamique que sont ramenées les infos
il y a une 1ère série de choix: "l'essentiel", "donner votre avis" et "avis des spectateurs" : pour ceux-ci, il faut passer en argument à PostPage '__EVENTTARGET=tabStrip1:_ctl1 (ou ctl2 ou ctl3) et ça, ça marche (sauf que c'est pas ces pages que je veux

note: la page "essentiel" est celle qu'on récupère par appel direct et cette page contient des "sous-choix" : les liens prévus sont du style "subTagStrip:_ctl1 (ou ctl2, ...)"
si je passe ça en argument à PostPage je ne récupère pas les infos (la partie dynamique est vide)
j'ai essayé de passer en argument "__EVENTTARGET=tagStrip1:-ctl1&__EVENTARGUMENT=subTagStrip:_ctl1" puis en remplaçant & par & et même de cumuler les 2 dans __EVENTTARGET, mais rien ne marche
Est-ce que quelqu'un aurait une idée géniale ???
[/technique]
dans l'état actuel des choses le script est malgré tout exploitable et puisque l'adresse de la page est mémorisée on peut récupérer ce qui intéresse par un bon vieux copier/coller mais c'est quand même un petit peu trop manuel ...
A suivre...

-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
un mystère mystérieux ...
j'ai utilisé ethereal comme préconisé par ScorEpion pour vérifier les envois en mode direct et via amc. Il y a effectivement quelques différences (on s'en serait douté...)
1) le paquet correspondant à la fonction POST indique
- HTTP 1.1 en mode direct et précise plus d'infos dans accept:
- HTTP 1.0 via amc et accept: text/html */* uniquement
serait-ce pour cela que je ne récupère pas certaines pages ???
note: pour GetPage on a bien HTTP 1.1
2) la fonction UrlEncode est-elle complète (en direct le : est transformé en %3A et le + en %2B alors que ces caractères ne sont pas transformés par UrlEncode)
Any idea

j'ai utilisé ethereal comme préconisé par ScorEpion pour vérifier les envois en mode direct et via amc. Il y a effectivement quelques différences (on s'en serait douté...)
1) le paquet correspondant à la fonction POST indique
- HTTP 1.1 en mode direct et précise plus d'infos dans accept:
- HTTP 1.0 via amc et accept: text/html */* uniquement
serait-ce pour cela que je ne récupère pas certaines pages ???
note: pour GetPage on a bien HTTP 1.1
2) la fonction UrlEncode est-elle complète (en direct le : est transformé en %3A et le + en %2B alors que ces caractères ne sont pas transformés par UrlEncode)
Any idea

-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
ha bah voilà la réponse, dans le code de IdHTTP.pas (le client HTTP d'Indy) :
Il y a une option pour forcer l'utilisation d'HTTP 1.1, je vais le rajouter à la fonction PostPage
Code: Select all
// Currently when issuing a POST, IdHTTP will automatically set the protocol
// to version 1.0 independently of the value it had initially. This is because
// there are some servers that don't respect the RFC to the full extent. In
// particular, they don't respect sending/not sending the Expect: 100-Continue
// header. Until we find an optimum solution that does NOT break the RFC, we
// will restrict POSTS to version 1.0.
Version où cette option est hard-codée :
ftp://ftp2.antp.be/antp/temp/amc343.zip
pour la version 3.5, il faudra utiliser PostPage2 pour pouvoir spécifier cette option
ftp://ftp2.antp.be/antp/temp/amc343.zip
pour la version 3.5, il faudra utiliser PostPage2 pour pouvoir spécifier cette option
Et au sujet des ":" et "+", en effet ils ne sont pas encodés, et je ne sais pas pourquoi ils ne le font pas :
Seuls ces caractères-là et ceux qui sont hors du range 33..128 sont encodés.
Code: Select all
UnsafeChars = ['*', '#', '%', '<', '>', ' ','[',']']
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
Antoine, merci pour ta rapidité
Comme tu t'en doutes, je me suis précipité sur ce nouvel exe et effectivement "ça cause HTTP1.1"
Malheureusement, le problème n'est pas résolu pour autant. Je pense donc qu'il est plus sûr de garder le PostPage actuel et d'inclure un PostPage2 pour le HTTP1.1 (ou prévoir un 3ème paramètre, c'est toi qui voit) ça peut toujours servir ...
Pour en revenir à mon problème, il ne semble donc pas lié au HTTP1.0/HTTP1.1
Ce qui me tue, c'est qu'avec le même script certaines pages sont accessibles et d'autres non (et le paramètre n'est même pas "urlencodé")
Il ne me reste plus qu'à éplucher les traces d'ethereal pour essayer de trouver le petit truc différent
(pour l'instant j'ai rien vu de spécial et j'en viens même à me demander s'il n'y aurait pas un blocage volontaire mais je ne vois pas l'interet d'autant plus que la 1ère page est passée correctement
)
Affaire à suivre ...

Comme tu t'en doutes, je me suis précipité sur ce nouvel exe et effectivement "ça cause HTTP1.1"

Malheureusement, le problème n'est pas résolu pour autant. Je pense donc qu'il est plus sûr de garder le PostPage actuel et d'inclure un PostPage2 pour le HTTP1.1 (ou prévoir un 3ème paramètre, c'est toi qui voit) ça peut toujours servir ...
Pour en revenir à mon problème, il ne semble donc pas lié au HTTP1.0/HTTP1.1
Ce qui me tue, c'est qu'avec le même script certaines pages sont accessibles et d'autres non (et le paramètre n'est même pas "urlencodé")
Il ne me reste plus qu'à éplucher les traces d'ethereal pour essayer de trouver le petit truc différent


Affaire à suivre ...
Bonjour à tous, et merci au créateur du logiciel pour son superbe travail.
Hum, je venais ici justement parce que j'aimerais importer les données de Monsieur Cinéma, mais ça ne marche pas (j'ai une "socket error").
Le souci, c'est qu'en lisant ce thread, je ne suis pas plus avancé: je ne comprends rien à ce que vous dites...
Bref, y a-t-il un moyen de les importer, ces données, actuellement? Si oui, comment?
Hum, je venais ici justement parce que j'aimerais importer les données de Monsieur Cinéma, mais ça ne marche pas (j'ai une "socket error").
Le souci, c'est qu'en lisant ce thread, je ne suis pas plus avancé: je ne comprends rien à ce que vous dites...

Bref, y a-t-il un moyen de les importer, ces données, actuellement? Si oui, comment?

-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
@brianos
bonjour,
tu ne dois pas avoir le bon script (le site de MrCinema a changé il y a peu ce qui pose quelques problèmes comme en temoigne la discussion technique ci-dessus et qui, bien entendu, est totalement incompréhensible pour les non-informaticiens
).
Va télécharger la version actuelle à l'adresse suivante http://www.antp.be/temp/scripts/ et copie le fichier dans le répertoire scripts de amc (si tu as des problèmes, n'hésite pas à nous demander, nous savons fort bien que tout le monde n'est pas informaticien...)
Le script actuel permet de récupérer (si les infos sont valorisées sur le site)
- le nom du film (traduit/original)
- le réalisateur, l'année, le pays, les acteurs (principaux), la durée et le genre
- le RESUME du film
- l'avis de la rédaction de MrCinéma et la note
ce qui pose problème actuellement et qui n'est pas récupéré
- l'histoire complète
- le générique complet
- les anecdotes
Tout ça pour dire que malgré tout le script est utilisable
Un dernier mot: il y a une variable que l'on peut modifier et qui permet d'importer les images de Mr Cinema et/ou Cinefil
{ mode de fonctionnement
ImportPicture = 0 aucune image importée
= 1 import image MrCinema seule
= 2 import image Cinefil seule
= 3 import de toutes les images
}
dans le script téléchargeable, il vaut 1 par défaut et peut être modifié (même remarque que précédemment si ce que je dis te semble du charabia)
[message perso @antp)
c'est dommage de ne pas avoir gardé 3 car les images de MrCinema sont plutôt des photos alors que Cinéfil propose en général les affiches, mais vivement la version qui permettra le stockage de toutes les images
[/message perso @antp]
bonjour,
tu ne dois pas avoir le bon script (le site de MrCinema a changé il y a peu ce qui pose quelques problèmes comme en temoigne la discussion technique ci-dessus et qui, bien entendu, est totalement incompréhensible pour les non-informaticiens

Va télécharger la version actuelle à l'adresse suivante http://www.antp.be/temp/scripts/ et copie le fichier dans le répertoire scripts de amc (si tu as des problèmes, n'hésite pas à nous demander, nous savons fort bien que tout le monde n'est pas informaticien...)
Le script actuel permet de récupérer (si les infos sont valorisées sur le site)
- le nom du film (traduit/original)
- le réalisateur, l'année, le pays, les acteurs (principaux), la durée et le genre
- le RESUME du film
- l'avis de la rédaction de MrCinéma et la note
ce qui pose problème actuellement et qui n'est pas récupéré
- l'histoire complète
- le générique complet
- les anecdotes
Tout ça pour dire que malgré tout le script est utilisable
Un dernier mot: il y a une variable que l'on peut modifier et qui permet d'importer les images de Mr Cinema et/ou Cinefil
{ mode de fonctionnement
ImportPicture = 0 aucune image importée
= 1 import image MrCinema seule
= 2 import image Cinefil seule
= 3 import de toutes les images
}
dans le script téléchargeable, il vaut 1 par défaut et peut être modifié (même remarque que précédemment si ce que je dis te semble du charabia)
[message perso @antp)
c'est dommage de ne pas avoir gardé 3 car les images de MrCinema sont plutôt des photos alors que Cinéfil propose en général les affiches, mais vivement la version qui permettra le stockage de toutes les images

[/message perso @antp]
La récupération d'infos de plusieurs sites à la fois me semble toujours fort hasardeuse (recherche et identification du bon film sur plusieurs sites, ce qui prend souvent plus de temps vu qu'on doit deux fois choisir le titre), c'est pour ça que j'avais changé la valeur par défaut...scorpion7552 wrote: [message perso @antp)
c'est dommage de ne pas avoir gardé 3 car les images de MrCinema sont plutôt des photos alors que Cinéfil propose en général les affiches, mais vivement la version qui permettra le stockage de toutes les images![]()
[/message perso @antp]
-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
c'est pas faux (sans compter les mises à jour massives). Je m'en souviendrai pour la prochaine versionantp wrote:La récupération d'infos de plusieurs sites à la fois me semble toujours fort hasardeuse (recherche et identification du bon film sur plusieurs sites, ce qui prend souvent plus de temps vu qu'on doit deux fois choisir le titre), c'est pour ça que j'avais changé la valeur par défaut...

-
- Posts: 182
- Joined: 2004-02-05 11:57:33
- Location: Paris, France
Une petite lueur au fond du tunnel
[hyper technique]
@antp
je viens d'éplucher un peu les traces et je me suis aperçu qu'il y a un paramètre du formulaire (__VIEWSTATE) qui change en fonction des pages (et qui prend des valeurs complétement démentes
).
J'avais déjà essayé de l'envoyer mais c'est là qu'intervient le problème de UrlEncode (les + : (et peut-être d'autres) non transformés)
ce qu'il faudrait maintenant pour continuer les tests ce serait un exe modifié avec PostPage normal + PostPage2 (HTTP1.1) + UrlEncode normal + UrlEncode2 modifié (si tu voit quelque chose)
Sacré taf en perspective, non
[/hyper technique]
Allez, courage, on va y arriver

[hyper technique]
@antp
je viens d'éplucher un peu les traces et je me suis aperçu qu'il y a un paramètre du formulaire (__VIEWSTATE) qui change en fonction des pages (et qui prend des valeurs complétement démentes

J'avais déjà essayé de l'envoyer mais c'est là qu'intervient le problème de UrlEncode (les + : (et peut-être d'autres) non transformés)
ce qu'il faudrait maintenant pour continuer les tests ce serait un exe modifié avec PostPage normal + PostPage2 (HTTP1.1) + UrlEncode normal + UrlEncode2 modifié (si tu voit quelque chose)
Sacré taf en perspective, non

[/hyper technique]
Allez, courage, on va y arriver
