| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
LUCAS_S
Registrado: 05 Abr 2005 Mensajes: 68
| Publicado: 06/09/2006 2:16 pm | | | Título: Parser HTML |
| holaaa a todos ....necesito encontrar un parser html... o sea que le pases una pagina web html, y te devuelva el texto que contiene, pero slo el texto informativo, o sea no me interesan los tags y todo eso... solo lo ke dice la pagina cuando la abris con un browser cualkiera... se entiende??? es para hacer una serch engine, ke busca palabras en una pagina web. quiero rescatar el texto nada mas... Alguno sabe donde puedo conseguir un programa asi??? o tengo ke programarlo????
muchas graciasssssss salu2 |
|
| Volver arriba | |
 |
RompeRatones
Registrado: 20 Sep 2005 Mensajes: 62
| Publicado: 06/09/2006 3:43 pm | | | Título: |
| lynx (disponible para *nix y windows(1))
solo ejecuta : // si queres que salga por pantalla lynx -dump "http://undominio.com"
// o si queres volcar la salida a un txt lynx -dump "http://undominio.com" > pagina.txt
(1) lo he usado bajo cygwin, pero seguro que ademas hay alguna para windows que no dependa del cygwin.dll _________________
|
|
| Volver arriba | |
 |
Requiem
Registrado: 11 Abr 2006 Mensajes: 689
| Publicado: 07/09/2006 2:57 am | | | Título: |
| Hola... La solucion q te han dado es totalmente valida para linux... para windows me parece q te lo tendras q programar... No es muy complicado, sencillamente ir leyendo y cuando te encuentras un tag eliminarlo.... complicado complicado no es... y si tienes dudas, aqui estamos Vaya bien Requiem |
|
| Volver arriba | |
 |
|
rir3760

Registrado: 01 Oct 2004 Mensajes: 3841 Ubicación: Mexico
| Publicado: 07/09/2006 5:25 am | | | Título: |
| Si recuerdo bien hay por los menos una version para MS Windows (¿MS-DOS?) tanto de Linx como de Links.
Pero me parece una mucho mejor opcion utilizar Cygwin ya que este es relativamente pequeño e incluye en un solo paquete las conocidas aplicaciones como grep, sed, etc.
Un saludo _________________ The capacity to learn is a gift; The ability to learn is a skill; The willingness to learn is a choice. -- Rebec of Ginaz |
|
| Volver arriba | |
 |
LUCAS_S
Registrado: 05 Abr 2005 Mensajes: 68
| Publicado: 07/09/2006 3:33 pm | | | Título: graciass |
| gracias a todosss... estoy en linux asi ke me viene re bien esa funcion,,,, saludos! |
|
| Volver arriba | |
 |
cheroky
Registrado: 22 Sep 2005 Mensajes: 1372 Ubicación: En ecx esperando un call
| Publicado: 07/09/2006 3:50 pm | | | Título: Re: graciass |
| | LUCAS_S escribió: | gracias a todosss... estoy en linux asi ke me viene re bien esa funcion,,,, saludos! |
Que funcion?
S2. _________________ - Explícito es mejor que implícito. - Simple es mejor que complejo. - Complejo es mejor que complicado. - Plano es mejor que anidado. - Ralo es mejor que denso. |
|
| Volver arriba | |
 |
|
neuronal

Registrado: 16 Dic 2005 Mensajes: 65 Ubicación: Alicante (Spain)
| Publicado: 08/09/2006 3:48 am | | | Título: |
| Buenas
cheroky, creo que se refiere al argumento -dump de lynx.
Parsers en C para tratar HTML hay bastantes. Bueno y el Perl he visto otro porrón (seguo que en casi cualquier lenguaje algo ya habrá inventado ). Yo utilizaría Google para buscar código fuente (que lo hay)
Busca por: "html2txt c", "html2txt c++", "html2txt source". Incluso podrías utilizar buscadores de código tipo koders donde seguro encuentras funciones "html2txt" que formen parte de un proyecto más grande.
Hace unos meses le ayudé a un compañero de trabajo con un tema relacionado justo con esto. Hice lo que te estoy comentando y acabé haciendo un xhtml2txt muy básico que nos sacaba del apuro.
Saludos _________________ #!/Enrique/Barbeito/García ... http://enrique.barbeito.org |
|
| Volver arriba | |
 |
LUCAS_S
Registrado: 05 Abr 2005 Mensajes: 68
| Publicado: 29/09/2006 6:50 am | | | Título: |
| kise decir lynx... el navegador web.. de todas formas no lo termine usando... pero encontre un funcion en c que anda bastante bien.. aunke tiene unas fallas....por ejemplo deja pasar los y otras cosas con el & adelante, fuera de los tags. no lo pude arreglar porke la verdad no ando con mucho tiempo...y no entendi muy bien como labura este programa...si alguien lo saca estaria muy agradecido...
| Código: | /* Conversion HTML -> TXT */
#include <stdlib.h> #include <stdio.h> #include <string.h>
#define LONGUEUR_CHAINE (4+1) // pour les séquence "<" et ">"
typedef enum { FAUX, VRAI } Booleen;
void html2txt ( FILE *fH, FILE * fT );
int main ( int argc, char **argv ) {
if ( argc!=3 ) { printf ( "usage : %s achivoHTML archivoTXT\n", argv[0] ); return EXIT_FAILURE; }
FILE *fHTML, *fTXT;
if ( ( fHTML = fopen ( argv[1], "r" ) ) == NULL ) { fprintf ( stderr, "Error al abrir archivo HTML\n" ); exit ( EXIT_FAILURE ); }
if ( ( fTXT = fopen ( argv[2], "w" ) ) == NULL ) { fprintf ( stderr, "Error al abrir archivo TXT\n" ); exit ( EXIT_FAILURE ); }
html2txt ( fHTML, fTXT );
fclose ( fHTML ); fclose ( fTXT );
return EXIT_SUCCESS; }
void html2txt ( FILE *fH, FILE * fT ) {
Booleen encore = VRAI; char c, chaine[LONGUEUR_CHAINE];
while ( encore ) { c = fgetc ( fH ); while ( c != EOF && c != '<' && c != '&' ) { fputc ( c, fT ); c = fgetc ( fH ); } switch ( c) { case EOF : encore = FAUX; break; case '<' : while ( ( c = fgetc ( fH ) ) != '>' ); break; case '&' : fgets ( chaine, LONGUEUR_CHAINE, fH ); if ( !strcmp ( chaine , "lt;") ) fputc ( '<', fT ); else if ( !strcmp ( chaine , "gt;" ) ) fputc ( '>', fT ); else { fputc ( c, fT ); fputs ( chaine, fT ); } } } }
|
graciasy saludos!! |
|
| Volver arriba | |
 |
|
|