[anniversaire] Où est Charlie ?

Si VRAIMENT aucun des autres forums ne vous inspire pour poster votre question ...
Avatar du membre
greygjhart
Jamais loin d'ici
Messages : 95
Enregistré le : sam. mai 23, 2009 2:03 pm
Localisation : Terre

Re: [anniversaire] Où est Charlie ?

Message par greygjhart »

Bon, ben... c'est un échec pour moi aussi... enfin au moins j'ai déterré pleins de chouettes images que j'aurais probablement jamais vu sinon.
deadal, comment t'as fait ??
'''The road goes ever on,,,
Bannière atoutcubes.com
iWaffle
Scotché au forum
Messages : 346
Enregistré le : sam. mai 09, 2009 12:42 am
Localisation : Grâce à mon iPhone // Derrière mon bôôôô MBP

Re: [anniversaire] Où est Charlie ?

Message par iWaffle »

Snif...j'avais fini le "Forum : mode d'emploi", "Présentation", "Megaminx", "Rubik's Pocket (2x2x2)", "Rubik's Professor (5x5x5)", "Square One (Cube 21)", "Temps et méthodes" et j'en ai pas trouvé un seul :'(
"One Cube to rule them all, One Cube to find them, One Cube to bring them all and in the darkness bind them"
Best Single : 13.74
Best Average : 23.62
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Re: [anniversaire] Où est Charlie ?

Message par deadalnix »

Alors voila comment j'ai trouvé charlie. Attention, faut avoir « un peu » de place sur son disque dur. Cette méthode fonctionne avec tout système d'exploitation sérieux, GNU/Linux, MacOS X, BSD, Solaris, . . . Il se peut que vous ayez des soucis avec des système défaillants et dépassés malheureusement installés par défaut sur la plupart des ordinateurs vendus.

Étape 1 : faire un programme qui récupère un topic :

Code : Tout sélectionner

#!/bin/bash
topicid=$1

if [ -z $1 ]
then
exit
fi

if [ -e topic$topicid.html ]
then
echo 'nothing to do'
else
zogzog https://forum.francocube.com/topic$topicid.html --quiet
./gettopic `cat topic$topicid.html | grep page-sep | grep Suivante | sed 's@^.*<a href="https://forum.francocube.com/topic\(.*\)\.html">Suivante</a>.*$@\1@g'`
fi
On notera bien qu'avec zogzog -O - on peut s'affranchir de télécharger les topics, mais c'est mieux ainsi. Vous noterez aussi que le fait que le topic ai déjà été téléchargé ou non est testé, et donc qu'on peut lancer ce programme plusieurs fois sur le même topic sans surcharger francocube.

Ensuite, il nous faut un programme pour extraire els images d'un topic :

Code : Tout sélectionner

#!/bin/bash
topicid=$1

if [ -z $1 ]
then
exit
fi

if [ -e topic$topicid.html ]
then
topic=`echo $topicid | sed 's@^\([0-9]*\).*$@\1@'`
cat topic$topicid.html | grep postbody | grep img | grep -v 'taille limite signature' | grep -v '/images/smilies/' >> $topic.img
./analysetopic `cat topic$topicid.html | grep page-sep | grep Suivante | sed 's@^.*<a href="https://forum.francocube.com/topic\(.*\)\.html">Suivante</a>.*$@\1@g'`
fi
Donc, on lis les topics, on ne garde que l'intérieur des posts, la ou il y a des images, on élimine les signatures et les smileys et on sauve tout ça dans topicid.img

Et enfin, il nous faut un programme pour automatiser tout ça sur tout plein de topics :

Code : Tout sélectionner

#!/bin/bash

topic=$1
if [ -z $1 ]
then
topic=1
fi

echo $topic

if [ $topic = '5268' ]
then
exit
else
./gettopic $topic
./dumpforum $(($topic+1)) &
./analysetopic $topic
fi
5268 est le numéro de ce topic, on s'arrête donc a lui.

Attention, ce programme est une fork bomb, ne le lancez que si vous savez vraiment ce que vous faites ! Les topic sont récupérées un par un pour ne pas créer de charge importante sur le serveur, par contre, le traitement se fait en parallèle du téléchargement.

Si vous modifiez du code quelque part, vous pouvez relancer ce programme plein de fois, puisque les topic ne seront pas retéléchargés.

Enfin, c'est bien beau tout ça, mais ça nous donne environs 15 000 fichiers sur le disque dur, et on va pas les éplucher à la main ! Nous allons donc récupérer les images postés par tout le monde :

Code : Tout sélectionner

zogzog `cat ../*.img | sed 's@"@\n@g' | grep ^http`
On note que je me suis placé ici dans un sous dossier afin de ne pas mettre tout le merdier au même endroit. Donc il nous reste a aller voir dans ce fameux dossier et a trouver Charlie. Les conaisseurs noterons la subtilité du script ^^. Une fois Charlie trouvé, il va nous falloir son URL complète (et la je fais Naaaaaaaaannnnnnn, et dire que depuis le début j'aurais pu savoir ça grâce à mes supers pouvoirs !) :

Code : Tout sélectionner

cat ../*.img | sed 's@"@\n@g' | grep ^http | grep NOMIMAGE
Et enfin chercher cette URL dans les topics :

Code : Tout sélectionner

grep topic*.html -e URL
Et voila, vous savez dans quel topic est charlie et a quelle page. Vous n'avez plus qu'a aller voir :D
Modifié en dernier par deadalnix le mer. juil. 01, 2009 11:54 am, modifié 6 fois.
Avatar du membre
Trukinette
Né sur ce forum
Messages : 174
Enregistré le : dim. févr. 08, 2009 6:46 pm

Re: [anniversaire] Où est Charlie ?

Message par Trukinette »

Il y a des tarés dans la vie ou des gens qui n'ont rien à faire....
3*3*3 : PB: 01:19:20/Average : 01:52:99
Avatar du membre
Nostra
Tendinites cubeur
Messages : 2892
Enregistré le : mer. juin 27, 2007 9:11 pm
Localisation : Toulouse
Contact :

Re: [anniversaire] Où est Charlie ?

Message par Nostra »

Il n'y a pas de suite?
Image
Avatar du membre
Carugo
VIP au club des 1000
Messages : 1047
Enregistré le : dim. oct. 14, 2007 6:45 pm
Contact :

Re: [anniversaire] Où est Charlie ?

Message par Carugo »

deadalnix a écrit :Cette méthode fonctionne avec tout système d'exploitation sérieux, GNU/Linux, MacOS X, BSD, Solaris, . . . Il se peut que vous ayez des soucis avec des systèmes défaillants et dépassés malheureusement installés par défaut sur la plupart des ordinateurs vendus.
D'ou :
R.Koothrappali, 5 pages plus tôt, a écrit :Sachant que je suis pas sous nux la , ca va être compliqué
On est d'accord.
Je suis l'homme puma
Avatar du membre
Nostra
Tendinites cubeur
Messages : 2892
Enregistré le : mer. juin 27, 2007 9:11 pm
Localisation : Toulouse
Contact :

Re: [anniversaire] Où est Charlie ?

Message par Nostra »

deadalnix a écrit : EDIT: haha, je peux pas poster mes scripts, ça fait buguer le forum :D
Même dans des balises code?

Dommage j'étais intéressé...
Sinon même juste la logique?
Image
Avatar du membre
PhoeniX
Passe sa journée ici. Et dort ici, aussi
Messages : 599
Enregistré le : mer. mars 26, 2008 5:32 pm
Localisation : Clermont

Re: [anniversaire] Où est Charlie ?

Message par PhoeniX »

Vi, je plussois Nostra, explique nous au moins le principe.
Image
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Re: [anniversaire] Où est Charlie ?

Message par deadalnix »

Nostra a écrit :
deadalnix a écrit : EDIT: haha, je peux pas poster mes scripts, ça fait buguer le forum :D
Même dans des balises code?

Dommage j'étais intéressé...
Sinon même juste la logique?
Même dans les balises code !

Mais j'ai trouvé le problème et l'ai remplacé par zogzog.
Avatar du membre
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm
Localisation : Paris
Contact :

Re: [anniversaire] Où est Charlie ?

Message par WydD »

Bon ben c'est ce que j'avais prévu plus ou moins mais j'ai été pris de grande flemme :)
3x3 VH / 2x2 CLL / BLD full-3-cycles
Délégué WCA France
Avatar du membre
Nencaran
A trouvé Charlie et Gprano
Messages : 562
Enregistré le : dim. nov. 02, 2008 11:54 pm
Localisation : Nantes
Contact :

Re: [anniversaire] Où est Charlie ?

Message par Nencaran »

Sinon il suffit d'éplucher les bons sous-forums et les bons topics.
C'est pas si long :D
Avatar du membre
greygjhart
Jamais loin d'ici
Messages : 95
Enregistré le : sam. mai 23, 2009 2:03 pm
Localisation : Terre

Re: [anniversaire] Où est Charlie ?

Message par greygjhart »

ouaaaaah la classe deadalnix...

bon ba il va falloir que je me penche sérieusement sur les commandes bash... quel noob je fais. Enfin bravo à toi c'est beau tous ces scripts... :smt023:
'''The road goes ever on,,,
Avatar du membre
WydD
D@cteur WydD
Messages : 2195
Enregistré le : sam. janv. 24, 2009 9:42 pm
Localisation : Paris
Contact :

Re: [anniversaire] Où est Charlie ?

Message par WydD »

greygjhart a écrit : bon ba il va falloir que je me penche sérieusement sur les commandes bash... quel noob je fais. Enfin bravo à toi c'est beau tous ces scripts... :smt023:
Euh ouais, la notion de beau est bof quand même... c'est du bash ne l'oublions pas !
3x3 VH / 2x2 CLL / BLD full-3-cycles
Délégué WCA France
Avatar du membre
greygjhart
Jamais loin d'ici
Messages : 95
Enregistré le : sam. mai 23, 2009 2:03 pm
Localisation : Terre

Re: [anniversaire] Où est Charlie ?

Message par greygjhart »

Ouais ben je persiste. Je comprends le fait que tu penses qu'il faille relativiser, mais si t'avais découvert ça comme moi tu trouverais ça beau je pense. Vraiment. Du genre "ah oui et là ça se goupille bien" et "là on a l'impression que ça merdouille gentiment" et en fait tout est fait pour être 'compatible'. perso j'adore. Et aussi parce que je sais encore quasiment rien faire de sérieux avec bash...
'''The road goes ever on,,,
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Re: [anniversaire] Où est Charlie ?

Message par deadalnix »

C'est vrai que bash c'est un sacré truc ! Mais ça s'est développé un peu au petit bonheur la chance et ça manque de vue d'ensemble tout de même :D Par exemple les vieux bidouillages avec la commande [ (sisi aller voirs /bin/[) pour donner une syntaxe potable aux if, c'est quand même vraiment crade :D
Répondre