Récuperer le code source d'une page html via mirc

Résolu
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007 - 12 juil. 2007 à 09:34
 lespagnol9393 - 28 févr. 2016 à 23:11
Bonjour à tous.

Dans le cadre d'un petit projet personnel, je souhaiterai, suite à une commade tapée sur un channel irc, comme par exemple !getsource , récuperer dans un fichier texte le code source de la page html passée en paramètre.

Cela est-il faisable ?

Bien évidement , je ne demande pas un script tout fait, mais de petites pistes pour y arriver
Merci à tous ceux qui prendront la peine et le temps de m'aider.

64 réponses

lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
21 juil. 2007 à 05:51
Wims, comme d'habitude, tu es génial. ça fonctionne parfaitement bien.

J'ai passé 3 heures à imbriquer les trois grosses parties de mon script, et le tout est "presque" fonctionnel. Je m'explique:


On ne récupère que le premier lien (celui tout en haut) de out.txt, avec tokenize 34 $read(out.txt,1) .

Or, si je repète ton alias plusieurs fois, les données s'ajoutent à la fin des fichiers film.txt et out.txt.

De ce fait, le lien lu par le tokenize 34 $read(out.txt,1) sera
toujours le même, c'est à dire le premier à être ajouté au fichier,
même si je change mes variables, et que je relance l'alias.


Pour pallier à ce problème, je voulais supprimer, à chaque fois que l'alias est appellé, les fichiers film.txt et out.txt.

Or la ligne suivante bloque le script qui n'arrive pas jusqu'au bout.

#################

on *:sockread:code_html: { .remove temp_script/film.txt | .remove
temp_script/out.txt. | sockread &a | bwrite temp_script/film.txt -1
-1 &a }

#################


Saurais-tu pourquoi ? Y'aurai t-il une erreur de syntaxe ?


Mon code:

#################

on *:sockread:code_html: { .remove temp_script/film.txt | .remove
temp_script/out.txt. | sockread &a | bwrite temp_script/film.txt -1
-1 &a }

on *:sockclose:code_html:{

  filter -c temp_script/film.txt temp_script/out.txt *<IMG SRC="http://*.jpg*

  tokenize 34 $read(temp_script/out.txt,1)

  set %adresse_image $2

}

#################


Je sent qu'ont y est presque :)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
21 juil. 2007 à 14:01
Il ne faut pas supprimer le fichier pendant que tu lis et écris les données sinon, a chaque fois, tu les effaces, il faut que tu mettes le /remove dans l'alias code_source, juste avant de /sockopen, pour le fichier out.txt, il y a -c comme switch ds le filter, ce qui a pour but d'effacer le fichier a chaque fois, donc normalement tu ne devrais pas avoir de probleme pour récupéré la 1ere ligne puisque c'est censé vidé le fichier, tu es sur que tu as bien le -c ds le filter
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
22 juil. 2007 à 23:25
Ha oki. Il faut en fait le mettre directement dans l'alias.

Je te remercie une fois de plus Wims, et je te souhaite une bonne soirée :)
0
Coucou Wims (et les autres...) !

Me revoilà, après de longues années où le script fonctionnait pas trop mal... Mais depuis un petit moment, quelque chose à dû changer chez cinemotion, car il ne fonctionne plus :(

Voici mon code actuel:

alias Check_Vignette {
.remove film.txt
.remove out.txt
sockclose code_html
sockopen code_html www.cinemotions.com 80
}

on *:sockopen:code_html:{
sockwrite -n code_html GET /recherche/ $+ %titre-du-film $+ .html HTTP/1.1
sockwrite -n code_html User-agent : Mozilla/5.0
sockwrite -n code_html Host: www.cinemotions.com
sockwrite -n code_html Connection: Keep-Alive
sockwrite -n code_html $str($crlf,2)
}

on *:sockread:code_html: { sockread &a | bwrite film.txt -1 -1 &a }

on *:sockclose:code_html:{
filter -c film.txt out.txt *<img src="/vignettes/affiche*.jpg*
tokenize 34 $read(out.txt,1)
set %url-vignette $2
}


Aurais-tu encore un peu de temps à m'accorder pour m'apporter une nouvelle fois ton aide ? :)
0
Rejoignez-nous