Blog sobre programación en VFP, Actualizado por Jorge Mota en Guatemala ;)



Trucos 22 de Noviembre del 2006 06:00 am

Obtener una versión “solo texto” de una página web

Bueno, en esta ocasión les presento una función que permite obtener el texto de una página web, sin el html de la misma, no tiene formato.

El uso es sencillo, el siguiente ejemplo muestra en la pantalla de VFP, la versión solo texto de “Google”.

?GetPageasTxt("http://google.com")

Otro Ejemplo, sería grabarlo a un archivo de texto:

=Strtofile(GetPageasTxt("http://google.com"), "c:/google.txt",0)

El código de función a continuación:

Function GetPageasTxt(cUrl As String) As String
	Local Texto, oIE, cResult, oDoc
	oIE = Createobject("InternetExplorer.Application")
	oIE.Navigate2("about:blank")
	oIE.Navigate2(cUrl)
	Texto ="Procesando página"
	Do While oIE.busy
		Wait Window Texto Nowait
	Enddo
	Wait Window Texto  Timeout 1.5
	*^para forzar a que IE termine de cargar la página
	oDoc = oIE.Document
	Texto = Type("oDoc.body")
	= oDoc.body.innerText()
	cResult = oDoc.body.innerText()
	Wait Clear
	oDoc = .Null.
	Release oDoc
	oIE.Quit
	Release oIE
	Return cResult
Endfunc

Como mención sobre su código, solo basta decir que usa Internet Explorer, para obtener la versión solo texto del mismo, y en mi máquina es necesario tener el Wait Window Texto timeout 1.5 debido a que de lo contrario devuelve una cadena vacía.

Saludos y hasta la próxima.

Sí vives en México puedes tener un seguro de vida gratis por hasta 750,000 pesos y ganar dinero al mismo tiempo! clic acá para más información.

6 personas han dicho algo en “Obtener una versión “solo texto” de una página web”

  1. on 08 Jun 2007 at 22:12 1.Flavio Moreno PERU dijo …

    Me parece interesante, aunque te confieso que todavía no veo en que circunstancias usarlo. Pero te agradezco este artículo. Lo que también sucede es que cuando conoces el objeto Ole de Internet Explorer, ves las cosas mas sencillas.

  2. on 09 Jun 2007 at 12:01 2.Jorge Mota GUATEMALA dijo …

    Hola, no se a que te refieres con el objeto OLE, es el activeX del IE ?, primero pense en crearlo así, pero me di cuenta que para funciones que no requiera un navegador, es más sencillo una función que puedes llamar de cualquier lado.

    Gracias por la visita ;)

  3. on 12 Nov 2007 at 2:13 3.Pedro Escate JAPAN dijo …

    Hola, muy interesante, pero como seria la version para Mozilla Firefox?..
    estuve intentando pero dicen que no es un com server y por eso no puede usar el createobject….

  4. on 12 Nov 2007 at 9:24 4.Jorge Mota GUATEMALA dijo …

    Pues lastimosamente creo que con firefox no se puede, o al menos no sé que exista ninguna forma de crear interfáces vía programación :)

  5. on 06 Jul 2008 at 5:07 5.oscar dijo …

    necesito una cosa como esta pero para firefox…

  6. on 06 Jul 2008 at 23:25 6.Jorge Mota GUATEMALA dijo …

    Firefox no permite automatización, pero por que no usar la versión con IE? Firefox no tiene ese tipo de programación que sí permite IE, si no quieres usar el navegador, podrías intentar con el objeto OLE de Ie que viene en las FFC

Trackback para este post | Suscribete a los comentarios de este post

Vea también:

Deja un comentario, di algo


Quienes visitaron esto, vieron:

  • N/A