cherche classe qui parse l'HTML pour faire un aspirateur de site

cherche classe qui parse l'HTML pour faire un aspirateur de site - Java - Programmation

Marsh Posté le 26-10-2003 à 02:34:23    

je voudrais realiser un aspirateur de site en java à cause de son orientation reseaux/internet.
Je pense qu'i lfaut parser la page et recup les liens qu'elle contient
 
je sais qu'il y a differents parsers, est ce que quelqun pourrait me conseiller ?
 
pour parser la page, il faut la recuperer, comment fait on ?
 
 
 
merci

Reply

Marsh Posté le 26-10-2003 à 02:34:23   

Reply

Marsh Posté le 26-10-2003 à 02:41:33    

t'as l'idée de projet c'est déjà ça [:mlc]
 
pour pomper une page ouaibe, un truc simple >> la classe URL
pour parser, String.substring .indexOf, ...[:spamafote]
sinon y'aun machin qui gere plus ou moins l'html dans la jdk
ou bien des parsers xml si tu veux gerer que des pages valides


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-10-2003 à 02:56:31    

pour simplifier l'affaire et éviter de se faire chier à faire un parser html (c'est pas facile, je parle d'expérience), tu devrais pouvoir utiliser Tidy qui permet de transformer de l'HTML en XHTML.
 
=> classe URL pour récupérer la page  
=> tidy pour transformer le HTML en XHTML
=> un parser XML pour parser la page XML
=> Xalan pour manipuler tout ca facilement avec des XPATH.
 
> --, le machin qui gère le HTML, tu confond pas avec la classe SWING qui l'affiche ? je connais rien qui parse du html dans la jdk :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 26-10-2003 à 02:03:05    

benou >> ouioui c'est à ce truc que je pensais mais il me semble qu'il y a des classes qui ne gerent que le parsing, m'enfin je peux me tromper
 
cela dit si c'est juste pour recuperer des urls, un vieux indexOf ou une regex pour chopper les href et basta nan?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-10-2003 à 02:11:23    

the real moins moins a écrit :

cela dit si c'est juste pour recuperer des urls, un vieux indexOf ou une regex pour chopper les href et basta nan?  


mouais  surement ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 26-10-2003 à 02:21:21    

ouais comme tu dis [:nofret]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-10-2003 à 11:33:08    

ouais mais mon truc c'était vachement plus-mieux-xml-c'est-de-la-balle :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 26-10-2003 à 11:52:31    

benou a écrit :

pour simplifier l'affaire et éviter de se faire chier à faire un parser html (c'est pas facile, je parle d'expérience), tu devrais pouvoir utiliser Tidy qui permet de transformer de l'HTML en XHTML.


Hélas, Tidy ne permet pas de faire de miracles si la page est vraiment mal écrite (tag exotiques, pas refermés...). Et on sait que ces pages sont très répandues :/
 
Et puis passer par XML pour parser une page HMTL c'est utiliser l'artillerie lourde à mon avis. Pour faire un parseur on a surtout besoin de récupérer les liens externes et leur chemin, donc repérer les attributs "src", "href" et autres "data". Donc transformer ça en document XML c'est peut être très joli sur le papier, mais si au final c'est pour en balancer 90% c'est un peu dommage et pas très rentable.
 
De toute façon les aspirateurs c'est Mal :o


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 26-10-2003 à 13:29:21    

c'est bien c'que j'disais :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-10-2003 à 15:57:54    

je recapitule,  
 
avec la class URL je peux avoir accès à une url depuis mon prog.
et il n'y a pas de parser HTML ???? c bizarre
 
pourquoi passer par du xml ?
Pouvez vous etre plus precis sur indexOf et regex ?
 
merci

Reply

Marsh Posté le 26-10-2003 à 15:57:54   

Reply

Marsh Posté le 26-10-2003 à 16:38:44    

erm...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 26-10-2003 à 19:20:39    

j'avait fait ca a l'epoque :D
 
le truc marchait tellement mal que je l'avait transformé en aspirateur de javadoc :love:
 
mais le code est plutot sale :sweat:

Reply

Marsh Posté le 27-10-2003 à 15:51:21    

j'ai reussis à recup une page html avec la class URL.
par contre ca ne marche pas pour les sites avec redirection(en .com, .net ....)
ca ne marche que pour les sites en .com/tutu.html
 
pour apache on a index.htm et pour IIS on a defaut.htm, est ce qu'il ya un moyen de detecter le type de server ?
ou alors une autre facon pour resoudre le probleme ....
 
merci

Reply

Marsh Posté le 27-10-2003 à 15:54:37    

recuperer le code d'erreur et autres entetes


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-10-2003 à 16:08:13    

c'est parce que tu connais pas le protocole HTTP.
dans les cas où ca marche pas, c'est surement que tu te prend un 302 (qui signifie que la page n'est pas à cette url là), et il faut que tu fasses une 2e requête vers une autre url qui est indiqué dans le header de réponse nommé "location"


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 27-10-2003 à 16:11:55    

Supertimor2k a écrit :


pour apache on a index.htm et pour IIS on a defaut.htm, est ce qu'il ya un moyen de detecter le type de server ?
ou alors une autre facon pour resoudre le probleme ....


 
ça c juste des valeur par défaut pour le mapping. rien n'empêche que la page de départ soit toto.htm
Le nom du serveur te servira a rien du tout!

Reply

Marsh Posté le 27-10-2003 à 18:54:48    

1000 excuses, je realise ce prog avec un pote et je vous ai rapporté les erreurs qu'il avait relevé sans vérifier ses dires meme si j'ai trouvé son probleme bizarre.  
 
 
merci pour tout

Reply

Marsh Posté le 27-10-2003 à 19:53:27    

heu...ca marche pas avec les redirection genre .fr.st, vous avez une suggestion ?
 

Reply

Marsh Posté le 27-10-2003 à 19:57:11    

ben si ca doit surement marcher, mais toi tu dois surement pas gérer le frame [:spamafote].
 
Faudrait un peu que tu cherches par toi même, hein ! Tu vas pas non plus nous demander à chaque petite difficulté :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 27-10-2003 à 20:12:25    

bah demander il peut.. avoir une réponse c'est autre chose [:chacal_one333]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 27-10-2003 à 23:19:53    

ben la phase de programmation à proprement parlé commence dans 1mois ou 2 mois mais là on essaie de voir si notre projet n'est pas trop ambitieux pour nous donc on cherche des bouts de piste pour nous orienter.
 
pour l'instant on definit notre projet et ses contraintes, le blem c que nos connaissance techniques sont limitées et on ne sait pas trop ou on va, et moi je suis chargé de trouver des pistes ...
 
pour les .fr.st, j'ai "imopssible d'afficher" la page mais on a du temps pour resoudre ce blem, on cherceh, on cherche, ne soyez pas effrayer :D

Reply

Marsh Posté le 27-10-2003 à 23:25:24    

Sinon on peut se servir également des expressions régulières pour retrouver les liens, etc.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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