Scanner une page web

Scanner une page web - HTML/CSS - Programmation

Marsh Posté le 03-10-2010 à 07:09:55    

Bonjour
J'ai des sites qui ont parfois des fichiers qui m'intéressent. Style mp3, JS, CSS, SWF ...
J'aimerais en tout et pour tout faire la liste complète en javascript.  :)  
 
Exemple : (Listes tout les liens)

Code :
  1. javascript:var s="<p>";var i=0;for(i in document.links){var s=s+"<br>"+document.links[i]}document.writeln(s);


 
Mon but est de faire ce genre d'affichage :
http://img713.imageshack.us/img713/161/opop.jpg
 
Avec des colonnes :
Liens
Images
Textes
Vidéo (avi / mp4 / swf)
Musique (mp3 / wav)
Style (Css / JS)
 
Voilà ! Comment peut-on les identifier ? Surtout le texte, je sèche ?  :)  
@++

Reply

Marsh Posté le 03-10-2010 à 07:09:55   

Reply

Marsh Posté le 04-10-2010 à 09:20:37    

Nouvelle importante, j'ai trouvé quelques choses de sympa pour trouver du texte (ouf j'ai mis du temps, et j'en suis pas à bout) :

Code :
  1. javascript:var Html,i;var Obj =document.getElementsByTagName('font');for ( i=0; i < Obj.length; i++){Html += Obj[i].innerHTML;}document.write(Html);


 
et ça :
 

Code :
  1. javascript:var Html,i;var Obj =document.getElementsByTagName('p');for ( i=0; i < Obj.length; i++){Html += Obj[i].innerHTML;}document.write(Html);


 
Partagez moi vos trouvailles, j'ai vraiment du mal.
Merci d'avance


Message édité par cetplus le 04-10-2010 à 09:22:54
Reply

Marsh Posté le 04-10-2010 à 15:37:12    

Dans document.getElementsByTagName(), tu mets la balise que tu cherches :/ Donc c'est très facile de faire ce que tu veux... Attention tout de même, getElementsByTagName() est assez lourde côté perfs.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 16:21:07    

et pourquoi ne pas utiliser l'extension downthemall qui fait déjà tout le boulot ?

 

sinon autant te faire un script greasemonkey :)


Message édité par gatsu35 le 04-10-2010 à 16:21:23

---------------
Blablaté par Harko
Reply

Marsh Posté le 05-10-2010 à 09:13:38    

Merci gatsu35, je vais voir si cela m'est utile.

Code :
  1. Dans document.getElementsByTagName(), tu mets la balise que tu cherches :/ Donc c'est très facile de faire ce que tu veux... Attention tout de même, getElementsByTagName() est assez lourde côté perfs.


Petite question tout de même :
Comment peut-on afficher en javascript des valeurs insérés dans une syntaxe.
Exemple :

Code :
  1. <a href="http://www.yahoo.fr" tips="yop"></a>


Est-ce possible de récupérer la valeur "yop" ?
Merci encore ! :)


Message édité par cetplus le 05-10-2010 à 09:15:05
Reply

Marsh Posté le 05-10-2010 à 10:07:40    

Tu veux récupérer la valeur d'un attribut.
Donc la fonction getAttribute
https://developer.mozilla.org/en/DO [...] tAttribute
 
Mais ton exemple est particulier, car aucun attribut se nomme tips

Reply

Marsh Posté le 05-10-2010 à 10:11:53    

Tu récupères l'attribut avec DOM. Au passage, tips n'est pas un attribut standard de <a> mais tu voulais sans doute mettre "title"...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 05-10-2010 à 10:17:32    

Non en faite j'ai posais 2 questions à la suite.
Si on pouvais mettre un attribut "imaginé" et si on pouvais le lire.
Merci

Reply

Marsh Posté le 05-10-2010 à 10:51:25    

Autant en xml, on met les attributs qu'on veut, autant en xhtml, je ne crois pas, c'est une grammaire bien définie par la DTD précisée dans le doctype. Du coup, pas sûr que le parser DOM récupère les attributs non standard, mais bon, j'ai jamais testé...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 05-10-2010 à 16:24:42    

Non mais attend, pourquoi tu veux mettre des attributs non-valides dans tes balises ? :heink:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 05-10-2010 à 16:24:42   

Reply

Marsh Posté le 05-10-2010 à 20:59:00    

Pourquoi, c'est louche ?
Lol, je voulais juste essayer le principe du XML incorporé dans la page HTML, si cela existait.
Mais bon oubliez ça.
Merci David.

Reply

Marsh Posté le 06-10-2010 à 09:45:18    

XML est un méta-langage servant donc à "créer" (définir) des langages (grammaires) interprétables par les outils prévus pour gérer ces langages : XHTML est un langage créé par XML et interprétable par un navigateur. Du coup, la grammaire du XHTML est parfaitement définie dans sa DTD (cf ce qu'on met dans le doctype) et on ne peut la modifier, sinon, ce n'est plus du xhtml. Attention, HTML n'a pas été créé par XML car le HTML ne respecte pas les règles d'un document XML bien formé. :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-10-2010 à 09:54:55    

Merci rufo, bon cours ! C'est l'heure de la récréation :)


Message édité par cetplus le 06-10-2010 à 09:55:37
Reply

Marsh Posté le 06-10-2010 à 11:27:13    

Tain et après tu dis que tu es prêt à programmer alors que tu ne sais déjà même pas ce que tu fais :(


---------------
Blablaté par Harko
Reply

Marsh Posté le 07-10-2010 à 09:02:39    

D'accord, d'accord j'admets, ce n'était pas tout à fait la question.
En gros, je voulais savoir si on pouvais créer des syntaxes "libres" et les lires à partir du javascript. Exemple :
<voiture nom="BMW" couleur="rouge" kmh-max="135">
 
Et donc de récupérer sa couleur, son nom/marque et sa vitesse (km/h) maximum.
 
Est-ce possible ?

Reply

Marsh Posté le 07-10-2010 à 09:44:12    

Non, pas possible.
Par contre tu peux créer un fichier XML, le transformer en xHTML à l'aide d'un XSL et utiliser ton JS pour parser directement ton XML (si besoin y a).
Par contre c'est quand même plus complexe que ce que tu cherchais à faire :/


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 07-10-2010 à 16:53:51    

En revanche, javascript peut lire un fichier XML récuperé en AJAX

Reply

Marsh Posté le 10-10-2010 à 09:15:37    

Ok
J'ai trouvé en bidouillant des scripts, ceci :
<img name="Salut" style="display:none"></img>
<img name="Je m'appelle Yarflam" style="display:none"></img>
<img name="Ce texte est l'incorporation d'image" style="display:none"></img>
<img name="Incorporé !" style="display:none"></img>
<img name="On peux le placer où on veut dans la page !" style="display:none"></img>
<img name="Mais dans l'ordre et avant le chargement Javascript !" style="display:none"></img>
<img name="<p><textarea style='display:none'>" style="display:none"></img>
<script language="Javascript">
<!--
var script,i;
script=document.getElementsByTagName("img" );
var s="<p>";
for(i in script){
var s=s+script[i].name+"<br>";
}
document.writeln(s);
//-->
</script>
 
Et le message s'affiche correctement :)
 
Je viens de découvrir Firebug et il fait un scan terrible. (Module firefox)
Je crois que j'ai appris des choses :)
Merci pour tout !


Message édité par cetplus le 10-10-2010 à 09:23:35
Reply

Marsh Posté le 10-10-2010 à 23:49:12    

Quand je te dis que tu as encore des tonnes des choses à découvrir dans le dev web :)


---------------
Blablaté par Harko
Reply

Marsh Posté le 11-10-2010 à 06:52:05    

:) oui !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed