PARSER EN JAVA

Iniciado por oihantze, 15 Julio 2009, 16:51 PM

0 Miembros y 1 Visitante están viendo este tema.

oihantze

Hola!

estoy haciendo un Parser para coger informacion de una pagina HTML. El parser consiste en coger las URL de los trabajos, el titulo y una pequeña descripcion de ella.
Al coger el titulo y las URL no tengo ningun tipo de problema puesto que esta dentro de una etiqueta. el problema lo tengo cuando tengo que coger texto que esta fuera de el.

Alguien me podria ayudar?????

esta es la pagina de la que me quiero bajar la informacion:
http://www.elprisma.com/buscar/resultados.asp?search=base%20de%20datos

esta es la parte que me interesa: (lo que esta en negrita es lo que no se como coger)

<table border="0" cellpadding="0" cellspacing="0" width="560">
<tr height="20">
<td class="ta" height="20" width="500" valign="middle">
<span class="num">1.</span><a title="Auditoría de Sistemas" href="../apuntes/curso.asp?id=6954">Auditoría de Sistemas</a></td>
<td class="ta" height="20" width="60" valign="middle" align="center"> </td>
</tr>
<tr>
<td class="tb" colspan="2" height="45" width="560" valign="top" align="justify">
<p align="justify">
<span class="des">Conceptos generales de auditoría de sistemas y control. Políticas de seguridad informática. Técnicas de auditoría asistidas por computador. Auditoría en un sistema de base de datos. Data Warehouse. Auditoría a sistemas operativos.</span></p>
</td>

</tr>
</table>


tengo que utilizar esto: public void handleText(char[] data, int pos) ?????????????????'

ayudarme porfavor!!! que si no soluciono este problema no puedo continuar con el proyecto!!!!!

gracias

sirdarckcat

que estas usando para parsear el codigo html?

Amerikano|Cls

No he intntado hacer un parser nunca pero sabiendo que los html funcionan a traves de las etiquetas, podrias por ejemplo contar cada etiqueta que se ha abierto y asi tener el control, por decir, si tienes esto:

Código (html4strict) [Seleccionar]
hola estoy afuera
<html>
<body>
pepe
</body>
</html>


Para poder captar el mensaje "hola estoy afuera"  podras usar dos contadores, uno para las etiquetas abiertas y otro para las etiquetas que cierran entonces, si los 2 contadores en el mismo instante son iguales quiere decir que estas fuera, y luego coges todo lo que se encuentre allí, no se, es lo que te entendí  ;).

salu2




Mi blog:
http://amerikanocls.blogspot.com

sirdarckcat

no es tan facil hacer un parser de html, hay muchas tags que no se cierran (img, br, meta, etc..).

pero el esta usando un parser ya hecho, por eso le pregunto cual.. java tiene uno (swing), pero no sabe leer codigo html malformado, aunque ahora que veo su mensaje creo que si esta usando swing.

http://java.sun.com/j2se/1.3/docs/api/javax/swing/text/html/parser/Parser.html#handleText(char[])

asi que pues, si debes usar handleText xD, y una variable que cheque cual es la clase de la ultima tag abierta (tu estas buscando un span con clase "des".

Saludos!!

oihantze

muchas gracias por las respuestas  pero soy nueva en esto de los parsers y no me sigo enterando  :-\

alguien me podria poner un ejemplo???

esque... en todos los ejemplos que encuentro en Internet veo que hay que hacer un for, pero.. un for de donde a donde??? me supongo que sera posicionandote en la etiqueta que deseas, pero como lo hago????

bufff estoy hecha un lio!!!!

si alguien puede ayudarme un poko mas....

gracias