Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue68:tutoriel_-_programmer_en_python [2013/03/04 16:55] – [LIBRARY] auntiee | issue68:tutoriel_-_programmer_en_python [2013/03/05 09:49] (Version actuelle) – [FIN] auntiee |
---|
| |
En utilisant leur API, nous pouvons obtenir des informations très précises sur l'émission elle-même et/ou sur chacun des épisodes. Il faut en fait trois étapes pour trouver des informations sur une émission. Les voici : | En utilisant leur API, nous pouvons obtenir des informations très précises sur l'émission elle-même et/ou sur chacun des épisodes. Il faut en fait trois étapes pour trouver des informations sur une émission. Les voici : |
• Rechercher dans leur base de données le nom de l'émission pour obtenir son identifiant (ID) que l'on doit utiliser pour obtenir plus de données. Pensez à la valeur showid comme une clé permettant d'accéder directement à un enregistrement dans la base de données, c'est exactement ça. | • Rechercher dans leur base de données le nom de l'émission pour obtenir son identifiant (« Show ID ») que l'on doit utiliser pour obtenir plus de données. Pensez à la valeur showid comme une clé permettant d'accéder directement à un enregistrement dans la base de données ; c'est exactement ça. |
• Une fois que vous avez l'ID, obtenez les informations sur l'émission. | • Une fois que vous avez l'ID, obtenez les informations sur l'émission. |
• Enfin, recherchez les informations sur un épisode spécifique. Elles viendront d'une liste des épisodes de l'émission jusqu'à aujourd'hui. | • Enfin, recherchez les informations sur un épisode spécifique. Elles viendront d'une liste des épisodes de l'émission jusqu'à aujourd'hui. |
</CLOSING TAG>** | </CLOSING TAG>** |
| |
On reçoit en retour un flux de données au format XML. Prenons un moment pour examiner à quoi ressemble XML. La première ligne doit toujours être similaire à celle illustrée ci-dessous pour être considérée comme un bon flux de données XML (ci-dessous). | On reçoit en retour un flux de données au format XML. Prenons un moment pour revoir à quoi ressemble XML. La première ligne doit toujours être similaire à celle illustrée ci-dessous pour être considérée comme un bon flux de données XML (ci-dessous). |
| |
Chaque donnée est entourée par une balise de définition et une balise de fin. Parfois, vous aurez une balise enfant qui est aussi elle-même une balise parent comme ceci : | Chaque donnée est entourée par une balise de définition et une balise de fin. Parfois, vous aurez une balise enfant qui est aussi elle-même une balise parent comme ceci : |
**In the case of our program, we would be really interested in only the two fields <showid> and <name>. We might also consider paying attention to the <started> field as well. This is because we rarely get back just one set of data, especially if we didn’t give the absolutely complete show name. For example, if we were interested in the show “The Big Bang Theory,” and searched using only the string “Big Bang”, we would get twenty or so data sets back because anything that even remotely matched “big” or “bang” would be returned. However, if we were interested in the show “NCIS,” and we searched for that, we would get back many responses. Some not what we would expect right away. Not only would we get “NCIS”, “NCIS: Los Angeles”, “The Real NCIS”, but also “The Streets of San Francisco” and “Da Vinci’s Inquest”, and many more, since the letters “N” “C” “I” and “S” are in all of those, pretty much in that order.** | **In the case of our program, we would be really interested in only the two fields <showid> and <name>. We might also consider paying attention to the <started> field as well. This is because we rarely get back just one set of data, especially if we didn’t give the absolutely complete show name. For example, if we were interested in the show “The Big Bang Theory,” and searched using only the string “Big Bang”, we would get twenty or so data sets back because anything that even remotely matched “big” or “bang” would be returned. However, if we were interested in the show “NCIS,” and we searched for that, we would get back many responses. Some not what we would expect right away. Not only would we get “NCIS”, “NCIS: Los Angeles”, “The Real NCIS”, but also “The Streets of San Francisco” and “Da Vinci’s Inquest”, and many more, since the letters “N” “C” “I” and “S” are in all of those, pretty much in that order.** |
| |
Dans le cas de notre programme, nous ne sommes vraiment intéressés que par les deux balises <showid> et <name>. Nous pourrions également envisager de prêter attention au champ <started>. Ceci parce que nous recevons rarement un seul ensemble de données, surtout si l'on ne donne pas le nom absolument complet de l'émission. Par exemple, si nous nous étions intéressés à l'émission « The Big Bang Theory » et l'avions recherchée en utilisant uniquement la chaîne « Big Bang », nous aurions obtenu une vingtaine d'ensembles de données en retour car tout ce qui est approchant, même de loin, serait renvoyé. De même, si nous nous étions intéressés à l'émission "NCIS" et avions cherché cela, nous trouverions de nombreuses réponses. Certains ne correspondent pas à ce que nous attendons. Non seulement nous obtenons « NCIS », « NCIS : Los Angeles », « The Real NCIS », mais aussi « Les rues de San Francisco » et « L'enquête Da Vinci », et beaucoup plus, puisque les lettres « N » « C » « I » et « S » sont contenus dans tous ceux-ci, à peu près dans cet ordre. | Dans le cas de notre programme, nous ne sommes vraiment intéressés que par les deux balises <showid> et <name>. Nous pourrions également envisager de prêter attention au champ <started>. Ceci, parce que nous recevons rarement un seul ensemble de données, surtout si l'on ne donne pas le nom absolument complet de l'émission. Par exemple, si nous nous étions intéressés à l'émission « The Big Bang Theory » et l'avions recherchée en utilisant uniquement la chaîne « Big Bang » ou à «», nous aurions obtenu une vingtaine d'ensembles de données en retour car tout ce qui s'approche, même de loin, à « big » ou à « bang »serait renvoyé. De même, si nous nous étions intéressés à l'émission "NCIS" et avions cherché cela, nous trouverions de nombreuses réponses. Certains ne correspondent pas à ce que nous attendons. Non seulement nous obtenons « NCIS », « NCIS : Los Angeles », « The Real NCIS », mais aussi « Les rues de San Francisco » et « L'enquête Da Vinci », et beaucoup plus, puisque les lettres « N » « C » « I » et « S » sont contenus dans tous ceux-ci, à peu près dans cet ordre. |
| |
====== EPISODE ====== | ====== EPISODE ====== |
Next, we would request the episode list. If the show is only one season long and has/had only six episodes, this stream would be short. However, let’s take the case of one of my favorite TV shows, Doctor Who. Doctor Who is a British TV show that, in its original form, started in 1963 and ran for 26 seasons (‘series’ for our friends in the UK) until 1989. Its first season alone had 42 episodes, while other seasons/series have around 24 episodes. You can see where you might have a HUGE stream to parse through.** | Next, we would request the episode list. If the show is only one season long and has/had only six episodes, this stream would be short. However, let’s take the case of one of my favorite TV shows, Doctor Who. Doctor Who is a British TV show that, in its original form, started in 1963 and ran for 26 seasons (‘series’ for our friends in the UK) until 1989. Its first season alone had 42 episodes, while other seasons/series have around 24 episodes. You can see where you might have a HUGE stream to parse through.** |
| |
Une fois que nous connaissons l'identifiant d'émission, nous pouvons demander l'information sur l'émission pour cet ID. Les données sont similaires à celles que nous venons de recevoir dans la réponse à la recherche, mais plus détaillées. En utilisant encore une fois Buffy comme exemple, voici (page suivante, à droite) une version abrégée du fichier XML. | Une fois que nous connaissons l'identifiant d'émission, nous pouvons demander l'information sur l'émission pour cet ID-là. Les données sont similaires à celles que nous venons de recevoir dans la réponse à la recherche, mais plus détaillées. En utilisant encore une fois Buffy comme exemple, voici (page suivante, à droite) une version abrégée du fichier XML. |
| |
Vous pouvez voir que la plupart des données étaient déjà dans le flux de réponse à la recherche. Cependant, des choses comme la chaîne, le pays de la chaîne, l'exécution, le jour et l'heure de diffusion, sont spécifiques à cette série de réponses. | Vous pouvez voir que la plupart des données étaient déjà dans le flux de réponse à la recherche originale. Cependant, des choses comme la chaîne, le pays de la chaîne, l'exécution, le jour et l'heure de diffusion, sont spécifiques à cette série de réponses. |
| |
Ensuite, nous allons demander la liste des épisodes. Si l'émission n'a qu'une saison et a/avait seulement six épisodes, ce flux sera court. Cependant, prenons le cas d'une de mes émissions préférées, Doctor Who. Doctor Who est une émission britannique qui, dans sa forme originale, a commencé en 1963 et a duré 26 saisons jusqu'en 1989. Sa première saison compte 42 épisodes, tandis que les autres saisons/séries ont environ 24 épisodes. Vous pouvez voir que vous pourriez avoir un ÉNORME flux à analyser. | Ensuite, nous allons demander la liste des épisodes. Si l'émission n'a qu'une saison et a/avait seulement six épisodes, ce flux sera court. Cependant, prenons le cas d'une de mes émissions préférées, Doctor Who. Doctor Who est une émission britannique qui, dans sa forme originale, a commencé en 1963 et a duré 26 saisons jusqu'en 1989. Sa première saison compte 42 épisodes, tandis que les autres saisons/séries ont environ 24 épisodes. Vous pouvez voir que vous pourriez avoir un ÉNORME flux à analyser. |
<started>** | <started>** |
| |
Ce que nous obtenons après la demande de la liste des épisodes est indiqué sur la page suivante (en utilisant encore Buffy comme exemple) ; je vais juste utiliser une partie du flux pour vous montrer ce qu'on reçoit. | Ce que nous obtenons après la demande de la liste des épisodes est indiqué sur la page suivante (en utilisant encore Buffy comme exemple) ; je vais juste utiliser une partie du flux pour que vous ayez une bonne idée de ce qu'on reçoit. |
| |
Donc pour résumer, l'information dont nous avons vraiment besoin après la recherche de l'identifiant de l'émission à partir de son nom serait : | Pour résumer, donc, l'information dont nous avons vraiment besoin après la recherche de l'identifiant de l'émission à partir de son nom serait : |
<showid> | <showid> |
<name> | <name> |
Until then, have a good holiday season.** | Until then, have a good holiday season.** |
| |
Un petit « avertissement » ici. Le numéro de saison et les numéros des épisodes ne sont pas forcément ce à quoi vous pensez. Dans le cas des données de TVRage, le numéro de saison est le numéro de l'épisode dans la saison. Le numéro d'épisode est le numéro de cet épisode dans la durée de vie totale de la série. Le numéro de production est un numéro qui a été utilisé en interne pour la série et qui, pour beaucoup de gens, n'a pas vraiment de signification. | Un petit « avertissement » ici. Le numéro de saison et les numéros des épisodes ne sont pas forcément ce à quoi vous pensez. Dans le cas des données de TVRage, le numéro de saison est le numéro de l'épisode dans la saison. Le numéro d'épisode est le numéro de cet épisode dans la durée de vie totale de la série. Le numéro de production est un numéro qui a été utilisé en interne pour la série et qui, pour beaucoup de gens, n'a pas vraiment de signification. |
| |
Maintenant que nous avons rafraîchi notre mémoire sur la structure des fichiers XML et examiné les appels à l'API de TVRage, nous sommes prêts à commencer à coder, mais cela devra attendre jusqu'à la prochaine fois. | Maintenant que nous avons rafraîchi notre mémoire sur la structure des fichiers XML et examiné les appels à l'API de TVRage, nous sommes prêts à commencer à coder, mais cela devra attendre jusqu'à la prochaine fois. |