/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Parser HTML

 
      Índice del Foro elrincondelc.com -> General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
LUCAS_S



Registrado: 05 Abr 2005
Mensajes: 68

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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

MensajePublicado: 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)

MensajePublicado: 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 Smile). 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

MensajePublicado: 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
      Índice del Foro elrincondelc.com -> General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com