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

cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
15 juil. 2007 à 03:54
Ok en fait il semblerai que ça sois
dans l'alias principale dl_img, un moment il y a  :
h img_path $$2

ici il faudrait mettre $qt($$2-) plutôt mais étant donnée que dans ton on input, il n'y a aucun moment ou tu apel /dl_img, je vois pas cmt tu l'apel donc pas sur mais normalement c'est ça.

Ps: fait gaffe, ya un get au lieu d'un set dans ton on input
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
15 juil. 2007 à 04:42
En fait avec un h img_path $qt($$2-) ça ne marche pas.

Alors qu'avec un h img_path $$2 ça fonctionne.


L'erreur retournée est: insufficient parameters (line 160, DL_img.mrc) donc juste sur h img_path $qt($$2-).
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
15 juil. 2007 à 06:27
Quel est ta ligne 160 aussi = /
fait un echo sur $2- aussi, juste avant h img_path $qt($$2-) ou h img_path $$2
la ligne 160 doit en dire long =) 
 
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
15 juil. 2007 à 20:01
Alors l'echo de $2- juste avant h img_path $gt($$2-) me donne:


C:/Program Files/EasyPHP1-8/mon_image.jpg


(la ligne 160 correspond en fait à h img_path $qt($$2-)

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

ON *:INPUT:#:{

  if ( !get == $strip($1) ) {

    window @Echo

    set %img_source http://www.cinemotions.net/data/films/0052/26/1/w115/A0005226.jpg

    set %dest_path C:/Program Files/EasyPHP1-8/TEMP/

    set %dest_img %rlzIO $+ .jpg

    set %img_dest_path %dest_path $+ %rlzIO $+ .jpg

    get %img_source %img_dest_path

    echo @Echo - $+ $date(mm/dd) $+ - $+ $asctime(HH:nn)
$+ -�3;4 %rlzIO $+ .jpg �3;1enregistrée dans %dest_path | halt

  }

}


alias get {

  sockclose dl_img

  h img_site $gettok($remove($$1,http://),1,47)

  h img_get $remove($1,http://,$h(img_site))

  h img_path $qt($$2)

  echo @Echo $2-

  h img_end 0

  sockopen dl_img $h(img_site) 80

}


###########################################
0

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

Posez votre question
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
15 juil. 2007 à 21:33
Méaculpa Wims ;)


Alors pour la version de mirc, c'est effectivement une v6.16. Mais:


- J'ai renommé l'alias suivant tes conseils. Il deviens "getimg" donc le INPUT deviens !getimg

- En testant avec $+(",$$2-"), ça fonctionne parfaitement, il prends
bien en compte mon path avec un espace. Je vais donc rester sur ma
v6.16 (ça impliquera moins de changement)

- Et pour ta dernière question, le message apparaissait sur la commande !get (renommé depuis !getimg)


Pour conclure, je dirai que tout marche tout bien, tout propre, maintenant avec $+(",$$2-")

Avec tous mes remerciements Wims.


Il ne me manque pu, maintenant, qu'à me pencher sur la prochaine partie
de mon script, qui consiste à aller récuperer une partie bien
spécifique d'un code html récupéré, qui correspond à l'adresse de
l'image du film. Je pourrai ainsi le passer en paramètre, sur mon
!getimg, et ainsi télécharger l'image directement.


Car pour le moment j'avais set ma variable en dur (set %img_source
http://www.cinemotions.net/data/films/0052/26/1/w115/A0005226.jpg). Or
maintenant je vais essayer de la passer en parametre, si encore
j'arrive à l'isoler dans le code html que je récupere via ce pti bout
de code (qui ressemble à celui avec lequel j'avais commencé pour
télécharger l'image):


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


ON *:INPUT:#:{

  if ( !codehtml == $strip($1) ) {

    window @Auto_IO

    set %dest_path C:/texttemp/

    code_source

    echo @Auto_IO - $+ $date(mm/dd) $+ - $+
$asctime(HH:nn) $+ -�3;12 %addpre_rlzIO $+ .txt �3;1enregistrée dans
%dest_path | halt

  }

}


alias code_source {

  sockclose code_html

  sockopen code_html www.cinemotions.com 80

}


on *:sockopen:code_html:{

  sockwrite -n code_html GET /cinema-tv-dvd/film-serie-acteur-actrice-realisateur/hostel-II.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 %dest_path $+ / $+ %addpre_rlzIO $+ .txt -1 -1 &a }


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


Là le fichier se place bien au bon endroit, tout est ok, mais je bloque
sur comment mettre en variable seulement un pti bout du code.

(Pour info, prenons comme exemple http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/saw.html

La partie à récuperer sera donc:
http://www.cinemotions.net/data/films/0150/72/1/w115/affiche_Saw_2004_7.jpg
mais là je bloque...)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
15 juil. 2007 à 21:45
Ben il ne faut pas bwrite tout le code source, seulement allez sur la bonne page avec ton navigateur, et faire control + f (avec fire fox ca marche.) pour cherche du text ds la fenetre, ensuite tu colle ton truc : http://www.cinemotions.net/data/films/0150/72/1/w115/affiche_Saw_2004_7.jpg

ensuite tu regarde s'il y a plusieur fois ce meme truc, ensuite tu peux comparé avec une autre image si tu vois que tu peux récup l'info facilement, avec les token generalement, j'ai pas le temps la mais je regarderai si j'peux faire qqch :)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
15 juil. 2007 à 22:09
Merci de ta réponse Wims.


Je suis en fait sur la bonne page html. C'est à partir d'une page du
genre
http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/
$+ %titre_du_film $+ .html qu'il va me falloir récuperer une partie du
code.


Aurais-tu une doc sur la commande /bwrite et surtout comment ne pas pomper tous le code de la page ?

Merci à toi et bonne soirée ;)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
15 juil. 2007 à 23:48
En fait l'idéal serait de commencer à "http://www.cinemotions.net/data/films" et de finir au premier ".jpg" qui suit.

Pour en fait ne garder, par exemple avec la page
http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/superman.html
que:
http://www.cinemotions.net/data/films/0005/71/1/w115/affiche_Superman_1978_2.jpg
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
16 juil. 2007 à 09:14
Merci de ta patience... Je vais essayer de voir ce qu'il en est avec cette commande. :)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
18 juil. 2007 à 11:50
Me revoici ! Je ne comprends pas vraiment que faire avec les param de la cmd /bwrite.
Pourrais-tu m'aider, si tu es toujours dispo ?

Merci à toi :)
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
18 juil. 2007 à 15:24
Histoire de faire court, Il faut utilise //bwrite fichier -1 -1 &binvar pour écrire tout les infos dans un fichier.txt, ensuite il faudrait faire genre un filtre sur *sortie.txt *<IMG SRC=* .Après faut voir ce que tu récup dans le fichier filtré ( sortie.txt ) et voir cmt récup ton lien, on peut aussi le récup direct ds le sockread, mais c'est plus galère :)
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
18 juil. 2007 à 16:06
Hi,

Je ne sais pas si tu as trouvé réponse à ta demande lespagnol9393, je n'ai pas eu le courage de lire tous vos échanges avec Wims.

Pour gérer les path avec espaces, il te suffit, je pense, de rajoutes un $shortfn dans ton input, ou de modifier un peu mon code pour rajouter des quotes autour du chemin d'accès. A voir, mais je crois voir 3 messages au dessus que tu as une solution qui fonctionne... donc je me tais ^^

PaDa
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
18 juil. 2007 à 21:41
Bonsoir PaDa :)


Oui effectivement, Wims m'a trouvé une solution qui fonctionne parfaitement.

Il suffisais d'utiliser $+(",$$2-") pour set ma variable img_path.


Soit le code:


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


h img_path $+(",$$2-")


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


Pendant que je te tiens, pourrais-tu m'apporter un petit peu de ton
aide sur la commande /bwrite ou comment ne mettre en variable qu'une
petite partie de mon code html ? (cf qques post plus haut)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
18 juil. 2007 à 21:43
Wims m'a apparement donné un début de réponse, je vais essayer de m'en sortir avec ça, demain :)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
19 juil. 2007 à 19:20
Est-il possible, avec un /bwrite, de ne mettre en variable que:

- les <x> premieres lignes ?

- à partir de la <x> ième ligne ?

- les <x> dernières lignes ?


Quelqu'un aurait-il un petit exemple qu'il aurait déjà utilisé dans un script, que je comprenne un petit peu comment ça marche ?
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
20 juil. 2007 à 00:19
Lol en fait /bwrite ne marche pas avec les lignes en fait elle contienne tout, meme les saut de lignes donc on parle pas en lignes mais en octet,
Ce que tu demandes, c'est pas faisable, toi ce que tu veux c'est isoler le lien =)
0
cs_PaDa Messages postés 1804 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 22 septembre 2009 5
20 juil. 2007 à 00:37
+1

Si tu veux vraiment séparer des "lignes" dans une variable binaire, il suffit de faire un $bfind comme il faut pour t'arrêter aux "\n". Ca me parait inutile/tordu/lourd :)

PaDa
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
20 juil. 2007 à 07:49
Bonjour à vous deux :)
Oui en effet Wims, ce que je voudrai c'est isoler le lien. Et c'est vrai PaDa, que la technique de travailler sur les lignes pourra devenir bourrine lol

Mais comment donc puis-je travailler sur des octets avec la commandes /bwrite ?
Comment se compte les octets dans un fichiers ? Ou dans une variable, notament dans %a :)
Est-ce un caractère = 1 octet ?
0
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
20 juil. 2007 à 19:00
Il faudrait que tu prennes une page, que tu regarde le code source, tu cherches le lien qui t'interesses, ensuite tu regarde sur la ligne ce que tu peux utiliser a coup sur pour etre sur que c'est la bonne ligne, c/c ici plusieur ligne récupéré de plusieur code source :)
0
lespagnol9393 Messages postés 33 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 22 juillet 2007
20 juil. 2007 à 20:12
Merci Wims :)

Sur la page: http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/superman-returns.html
Le code:
#######################
<IMG SRC="http://www.cinemotions.net/data/films/0166/84/1/w115/affiche_Superman_Returns_2005_2.jpg" border=0 width=90 ALT="Superman Returns"></A></td></tr></table>
#######################

Sur la page: http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/kill-bill-volume-1.html
Le code:
#######################
<IMG SRC="http://www.cinemotions.net/data/films/0063/26/1/w115/A0006326.jpg" border=0 width=90 ALT="Kill Bill : volume 1"></A></td></tr></table>
#######################

Sur la page: http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/scarface.html
Le code:
#######################
<IMG SRC="http://www.cinemotions.net/data/films/0009/31/1/w115/A0000931.jpg" border=0 width=90 ALT="Scarface"></A></td></tr></table>
#######################

Et ainsi de suite. Soit directement:
http://www.cinemotions.com/cinema-tv-dvd/film-serie-acteur-actrice-realisateur/ $+ %NOM_FILM $+ .html
On remarque que le mot qui revient tout le temps dans leds liens a récuperer est "data" ou "
www.cinemotions.net/data/films", ainsi que le fameux ".jpg".

Vous me dites ce que vous en pensez ?
0
Rejoignez-nous