[FR] script "Monsieur Cinéma + affiche Cinéfil" v4

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.
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

[FR] script "Monsieur Cinéma + affiche Cinéfil" v4

Post by scorpion7552 »

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.
Last edited by scorpion7552 on 2004-12-28 18:45:02, edited 11 times in total.
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

on m'a bouffé le titre :hihi:

c'est script "Monsieur Cinéma + affiche Cinéfil version 3" qu'il faut lire
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

mets "v3" à la place du "ve" qui reste :D

Techniquement il devrait être possible d'utiliser leur forumulaire avec la fonction PostPage (corrigée dans la version 3.4.3 de septembre, certains scripts l'utilisent et elle semble fonctionner).
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

voilà, j'ai modifié le titre (j'avais pas vu l'option edit post :) )
je vais regarder de plus près la fonction postpage

je vous tiens au courant...

A+
Guest

Post by Guest »

Un grand merci à scorpion7552 pour ce nouveau script et la rapidité de la réponse. :grinking:

Encore bravo et merci.

Salut et @+
ScorEpioN
Posts: 264
Joined: 2004-08-17 11:02:02

Post by ScorEpioN »

si tu veux voir comment fonctionne la fonction postpage regarde mon script "erreursdefilms" :D
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

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 :hihi: )
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... :/
ScorEpioN
Posts: 264
Joined: 2004-08-17 11:02:02

Post by ScorEpioN »

Pour savoir le format que tu dois avoir pour ta "requête" PostPage, je te conseille d'utiliser "Ethereal", c'est comme ca que j'avais fait ;)
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

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 :)
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

une semaine de passée et pas de réponse :/

@antp: pour l'instant j'ai juste besoin d'un exe modifié pour que PostPage utilise HTTP 1.1 afin de voir si ça resoud le problème. T'aurais pas 5 minutes pour me faire ça ;) ?
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

le problème c'est que postpage utilise exactement les mêmes paramètres que getpage, et c'est déjà mis en 1.1 normalement...
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

ha bah voilà la réponse, dans le code de IdHTTP.pas (le client HTTP d'Indy) :

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.
Il y a une option pour forcer l'utilisation d'HTTP 1.1, je vais le rajouter à la fonction PostPage
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

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
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

Et au sujet des ":" et "+", en effet ils ne sont pas encodés, et je ne sais pas pourquoi ils ne le font pas :

Code: Select all

UnsafeChars = ['*', '#', '%', '<', '>', ' ','[',']']
Seuls ces caractères-là et ceux qui sont hors du range 33..128 sont encodés.
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

Antoine, merci pour ta rapidité :grinking:

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 ...
Brianos

Post by Brianos »

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... :D

Bref, y a-t-il un moyen de les importer, ces données, actuellement? Si oui, comment? ;)
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

@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]
antp
Site Admin
Posts: 9651
Joined: 2002-05-30 10:13:07
Location: Brussels
Contact:

Post by antp »

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]
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
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

antp 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...
c'est pas faux (sans compter les mises à jour massives). Je m'en souviendrai pour la prochaine version :)
scorpion7552
Posts: 182
Joined: 2004-02-05 11:57:33
Location: Paris, France

Post by scorpion7552 »

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 :hihi:
Post Reply