Sauver tous les messages d'un topic dans TXT?

Fermé
Lulumina - 11 janv. 2010 à 23:39
 lami20j - 22 janv. 2010 à 21:16
Bonjour,
Je me demandais si c'était possible, un script qui sauvegarderai dans un fichier texte tous les messages postés dans un topic donné d'un forum ? (Car je cherche à sauvegarder le contenu d'un topic sur jeuxvideo.com qui contenait ddes récits écrits par tous les forumeurs, et ça me ferait mal au coeur de tout perdre ! :S)

Voici le topic en question si ça peut aider de voir comment ça se comporte. https://www.jeuxvideo.com/forums/1-9630-948227-1-0-1-0-0.htm
Je suis une étudiante en informatique mais hélas je ne suis justement qu'étudiante ^^"

Merci de votre aide !

9 réponses

La seule idée qui me vienne à cette heure tardive c'est l'utilisation de scrapbook (module complémentaire) avec firefox, ça sauvegarde tel quel la mise en page et les textes, mais il va falloir cracher dans tes mains et te retrousser les manches (ou plutôt l'inverse ça risque de salir ta chemise !) parce qu'il faut cliquer sur chacune des pages et capturer la page, il est possible aussi de capturer tous les pages ouvertes dans un onglet...

bref, l'autre solution c'est d'aspirer les pages avec un logiciel ... mais là trop fatiguer pour en dire plus...
0
tu va dans le code source de la page et tu copi coll tout
0
en plus galère ...
0
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 131
12 janv. 2010 à 11:17
Bonjour,


Avec Python, il te suffit de 3 jours pour te créer un parser personnel qui te permettra d’extraire exactement ce que tu veux d’un code source au moyen des expressions rationnelles (regular expression).

Avec les aspirateurs de site, on passe d’abord beaucoup de temps à essayer de comprendre comment fonctionne le bazar, tellement c’est puissant. Une solution personnelle est plus maitrisable et rapide à faire. c'est mon expérience, c’est pour pour faire un parser que je me suis mis à Python.

Je me suis fait ça alors que que je n’ai jamais fait d’études d’informatique.
Alors , tu penses, en étant étudiante en informatique, ça devrait t’être encore plus facile.

Si tu parles comme tu le fais, c’est qu’on ne vous enseigne pas Python dans tes études. C’est lamentable.
C’est un langage d’avenir , qui donne la possibilité de se faire rapidement des applications soi-même sans passer 15 jours sur la façon d’ouvrir un fichier en C ou C++ ou à nager dans les composants du langage Java.
Pourquoi n’y a-t-il aussi aucun des nombreux utilisateurs des désuets VB6 et VBA que je vois ici ne t’a-t-il fait de réponse ?..... Etc

Enfin bon, avant que les gens comprennent....

Pour ma part , je vais essayer de trouver un peu de temps pour commencer à faire un parser pour répondre a ton besoin. Ce serait une bonne démonstration.

Le plus long est d’analyser le code source pour construire les regex de capture. Sinon, le reste avec Python c’est du gateau.

Salut
0
Merci heyquem, c'est gentil !
Mais tu n'es pas obligé de le faire à ma place si tu n'en as pas le temps ou l'envie !
Hé bien non, on n'a pas fait de Python, on a seulement fait du C, du Java, du PHP, et on commence d'ailleurs la première année avec l'ADA. (Il paraît que c'est le plus proche de l'écriture des algorithmes)
C ce n'est que la première année, PHP la deuxième, mais c'est surtout le java dont on mange beaucoup !

Je vais regarder un peu à quoi ressemble le Python alors ! Je t'en dis des nouvelles !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,

Perl est aussi adapté pour ce genre de problèmes.
Mais pas besoin d'artillerie lourde (je parle aussi de Python) pour ça ;-)

Avec la commande GET et quelque coups de sed est c'est faisable.

Tu veux tous dans un seule fichier ou un fichier par page?
0
Re,

Voilà avec quelque coups de sed, ça doit suffire vu l'objectif.

lami20j@debian:~$ cat topicjeuxvideo.com.sh 
#!/bin/bash

for i in $(seq 356);do (echo "***** PAGE $i *****" && GET http://www.jeuxvideo.com/forums/1-9630-948227-$i-0-1-0-0.htm)>>topic_.html;done
wc -l <topic_.html 
sed -i.orig 's/^<.*//g;/^$/d;s/<[^>]*>//;/Toutes les infos du/,/add_tag_trafic/d;s/<BR>/\n/g;s/\r/\n/g' topic_.html
sed -i "s/&eacute;/é/g;s/&egrave;/è/g;s/&agrave;/à/g;s/&ucirc;/û/g" topic_.html 
sed -i "s/&ocirc;/ô/g;s/&ccedil;/ç/g;s/&acirc;/â/g;s/&ecirc;/ê/g" topic_.html 
sed -i "s/&icirc;/î/g;s/&ugrave;/ù/g;s/&ucirc;/û/g;s/&auml;/ä/g" topic_.html 
sed -i "s/&iuml;/ï/g;s/&euml;/ë/g;s/&ouml;/ö/g;s/&acute;/'/g" topic_.html 
wc -l <topic_.html 
wc -l <topic_.html.orig 
lami20j@debian:~$ sh topicjeuxvideo.com.sh 


Le fichier tu le trouves ici http://www.cijoint.fr/cjlink.php?file=cj201001/cijJxRDH1A.zip
Chaque page commence avec ***** PAGE Numéro *****
0
Salut,

Il y a aussi la commande html2text sous Linux qui permet de convertir la page html en text.
0
lami -> Hey bien je pensais à tout dans le même, mais ça n'a guère d'importance ! Par page est aussi bien (mais ça va en faire un paquet !!! ^^)

o_O Ben dis donc, c'est super lisible en plus ! ^^ (Sous notepad en tout cas, pas bloc note bien sûr ^^)
Merci beaucoup !
C'est parfait ^^
0
Salut,

(Sous notepad en tout cas, pas bloc note bien sûr ^^)

En fait sur bloc note n'est pas lisible puisque j'ai utilisé \n comme caractère de fin de ligne.
Mais étant sur notepad si tu fais enregistrer sous tu pourras par la suite l'ouvrir aussi avec bloc notes.

Le plus important c'est que tu as ce que tu veux. Enfin c'est ça que j'ai compris ;-)
0
dddddddddddddd Messages postés 119 Date d'inscription vendredi 12 octobre 2007 Statut Membre Dernière intervention 16 mai 2016 21
22 janv. 2010 à 20:26
Installe firefox, puis lance firefox vas sur google avec et tape firebug puis installe le. Ou sinon télécharge un aspirateur de site WEB.
0