What The Movie?

Soumis par Shift le mar 06/01/2009 - 22:36

Si vous souhaitez tester votre culture cinématographique, le site du moment est What The Movie?. Le principe est simple : une image vous est présentée et il faut trouver le nom du film correspondant. Le titre peut être indiqué dans sa version officielle ou dans la langue d'un des drapeaux présents sous le champ de saisie. Ce site a aussi la particularité d'être un site Web 2.0, c'est à dire que vous pouvez soumettre vous aussi des images de films :)

Au 2009-01-06, mon score était : InfernalQuack (634/6596 movies solved, 276 for highscore). Les films marqués pour les highscores sont ceux dont on a trouvé le titre dans les 30 jours après publications de l'image.

Le site n'offrant pas la possibilité d'afficher un profil utilisateur pour l'instant, j'ai fait un script pour récupérer les identifiants des films déjà trouvés

Si vous aussi vous souhaitez récupérer cette liste, vous pouvez utiliser le script Bash suivant. Il faut prélablement récupérer le cookie CAKEPHP et l'inscrire dans ce script. Ensuite allez sur "overview" sur le site et n'affichez que les films trouvés et par lot de 100. Ensuite vous lancez le script pour générer le fichier wtm-ids.txt.


#!/bin/sh

WTM_COOKIES="CAKEPHP=xxxxxxxxxxxxxxxxxxxx";

echo "" > wtm-ids.txt

WTM_PAGE=0;
WTM_NEXT=1;
while [[ $WTM_NEXT -eq 1 ]];
do curl http://whatthemovie.com/beta/movies/overview/$WTM_PAGE -b "$WTM_COOKIES" > /tmp/wtm_$WTM_PAGE.html;
grep "box solved" /tmp/wtm_$WTM_PAGE.html > /dev/null || WTM_NEXT=0;
grep "box solved" /tmp/wtm_$WTM_PAGE.html | sed -e "s#/li>#li>\n#g" | grep "box solved" | sed -e "s#.*/view/\([0-9]\+\).*#\1#g" | tee -a wtm-ids.txt
rm /tmp/wtm_$WTM_PAGE.html;
WTM_PAGE=$(($WTM_PAGE + 1));
done

Si vous souhaitez récupérer la liste des films avec le titre IMDb, vous pouvez utilisez le script qui suit et qui se base sur le fichier wtm-ids.txt qui est généré avec le précédent script. Le résultat est stocké dans wtm-names.txt . ATTENTION : il fait autant de connexions sur le site que de films trouvés. A utiliser avec parcimonie.


#!/bin/sh

WTM_COOKIES="CAKEPHP=xxxxxxxxxxxxxxxxxxxx";

echo "" > wtm-names.txt

for id in `cat wtm-ids.txt`;
do
curl http://whatthemovie.com/beta/movies/view/$id -b "$WTM_COOKIES" > /tmp/wtm_movie_$id.html;
grep "showAmazonStuff" /tmp/wtm_movie_$id.html > /dev/null && grep "showAmazonStuff" /tmp/wtm_movie_$id.html | sed -e "s/^.*showAmazonStuff('\(.*\)');<.*$/$id\t\1/" | tee -a wtm-names.txt;
rm /tmp/wtm_movie_$id.html;
sleep 1;
done

Section du blog