Guardar página Web como texto

210 views
Skip to first unread message

Zarlu

unread,
Mar 9, 2021, 10:57:08 PM3/9/21
to Comunidad de Visual Foxpro en Español
Buenas noches foxeros!

Los navegadores en su menú tienen la opción de "Guardar como".
Deseo usar esa opción por código para guardar como texto el contenido de la página consultada para después obtener información de ella.
He usado URLDownloadToFile y lo guarda como texto, pero la forma en que lo guarda no es el mismo.
No quiero usar automatización de Internet Explorer para no limitar el uso a ese navegador.
Alguien sabrá como ejecutar "Guardar como" con código de vfp?

Gracias
zarlu
Chetumal, Quintana Roo, México

ZeRoberto

unread,
Mar 9, 2021, 11:00:09 PM3/9/21
to publicesvfoxpro
Probaste la libreria vfpconnection.fll de sweetpotato?

Tiene esta funcion que te puede servir
HTTPGet("http://www.somedomain.com/Source.htm", "C:\Destination.htm", "MyProgress()", "MyTrace()")

Saludos

Ze



--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/294ef232-0368-435c-9f0e-4f2da483246fn%40googlegroups.com.

Zarlu

unread,
Mar 9, 2021, 11:07:50 PM3/9/21
to Comunidad de Visual Foxpro en Español
Qué tal ZeRoberto!

La buscaré. Tendrás el link de donde obtenerla?

Gracias
zarlu
Chetumal, Quintana Roo, México

ZeRoberto

unread,
Mar 9, 2021, 11:08:40 PM3/9/21
to publicesvfoxpro

Zarlu

unread,
Mar 10, 2021, 12:15:56 AM3/10/21
to Comunidad de Visual Foxpro en Español
Qué tal ZeRoberto!

Encontré la versión que acepta HTTPS, pero el resultado es similar al de la API URLDownLoadToFile.
Puntualizo mi comentario:
El contenido de la página se guarda diferente usando la opción "Guardar como" del menú del navegador y guardando como texto. Y es así como me gustaría obtenerlo.

Gracias
zarlu
Chetumal, Quintana Roo, México

ZeRoberto

unread,
Mar 10, 2021, 9:09:42 PM3/10/21
to publicesvfoxpro
Hola Zarlu a mi no me funciona con nada, talvez necesitas convertirla a UTF-8

lcBuffer = FileToStr("C:\descargado.htm")
StrToFile(lcBuffer, "C:\nuevo.htm", 4)

Saludos

Ze




ZeRoberto

unread,
Mar 10, 2021, 9:13:50 PM3/10/21
to publicesvfoxpro
Probe con HTTPS y si me descargo

Clear
SET LIBRARY TO (LOCFILE("vfpconnection.fll", "FLL"))
lcUrl = "https://www.devguru.com/content/technologies/wsh/wshshell-specialfolders.html"
lcFile = "d:\demo.html"
? lcUrl, lcFile
? HTTPSGet(lcUrl, lcFile)
SET LIBRARY TO

Saludos

Ze




Zarlu

unread,
Mar 10, 2021, 10:19:42 PM3/10/21
to Comunidad de Visual Foxpro en Español
Buenas noches ZeRoberto!

De que descarga, descarga ....

A ver si puedes hacer unas pruebas con éste link:

Después manualmente con MOZILLA guarda la página como archivo de texto
Compara contenidos y son diferentes.

(Estoy notando, después de probar con varios navegadores, que Mozilla es el único que tiene la opción de guardar como texto. Pero bueno es lo que requiero)

Gracias

zarlu
Chetumal, Quintana Roo, México

ZeRoberto

unread,
Mar 10, 2021, 10:32:13 PM3/10/21
to publicesvfoxpro
Hola Zarlu esa si no la baja, el detalle es que cuando le das descargar desde el navegador, está la vuelve a explorar nuevamente y descarga todos los componentes que tienes ya sea scripts, css, imágenes, al hacer esto modifica las rutas de los archivos, en cambio si lo bajas con HTTPSGet los baja tal como está en el servidor y no baja los demás componentes.

Saludos

Ze



ggcagnola gmail

unread,
Mar 11, 2021, 8:29:08 AM3/11/21
to publice...@googlegroups.com

no entiendo porque querés en texto la web cuando el html es texto...

Esteban Herrero

unread,
Mar 11, 2021, 3:33:57 PM3/11/21
to publice...@googlegroups.com

Hola Zarlu.

Probá este a ves si te sirve

LOCAL loIE, lcContenidoURL
   loIE = CREATEOBJECT("InternetExplorer.Application")
   loIE.Navigate('https://www.interpol.int/es/Como-trabajamos/Notificaciones/Ver-las-notificaciones-rojas')
   * Esperar mientras se obtiene página
   *WAIT WINDOW "Espere por favor, obteniendo datos..."
   DO While loIE.Busy OR loIE.ReadyState # 4
   ENDDO
   lcContenidoURL = loIE.Document.Body.InnerText
   STRTOFILE(lcContenidoURL, 'Prueba.txt')
  *RETURN lcContenidoURL
 RETURN .T.

Zarlu

unread,
Mar 11, 2021, 7:07:30 PM3/11/21
to Comunidad de Visual Foxpro en Español
Buenas tardes!

Que tal ggcagnola!
No es que lo descargue en tipo texto. Es el contenido.
A diferencia de vfpconnection.fll y URLDownloadToFile al guardarlo manual como tipo texto con Mozilla descarga otra información. Y es lo que requiero.

Qué tal Estaban!
Gracias por la sugerencia. No la consideré en un principio para no limitar mi aplicación al uso de Internet Explorer. Pero dada la situación creo que tendré que usar automatización para IE y Selenium para Mozilla. Así al menos tendré dos opciones de navegador.

Agradezco a ambos su interés
zarlu
Chetumal, Quintana Roo

Gabriel Araya Garcia

unread,
Mar 11, 2021, 9:42:33 PM3/11/21
to publice...@googlegroups.com
Pero es interesante saber: "para después obtener información de ella"
A lo mejor es más simple algo que focalice tu objetivo en vez de proponer soluciones que no resuelven tu propósito.
Si aclaras eso, puede ser que la solución sea más rápida.
Saludos

Gabriel Araya Garcia
GMI - Desarrollo de Sistemas Informáticos




--
Reply all
Reply to author
Forward
0 new messages