Access - Capturar datos de una página web.

 
Vista:

Capturar datos de una página web.

Publicado por Marta (47 intervenciones) el 03/08/2003 13:29:50
Hola a todos...

Periódicamente recibo información legislativa a través de una página web. Dicha información siempre presenta el mismo formato (se trata de una pequeña ficha con una serie de campos).
Los datos que contiene la citada página los paso a mi base de datos, para ello utilizo un método rudimentario: copiar y pegar.
Lo que me gustaría hacer es automatizar el proceso capturando los campos de esa ficha desde el código de mi formulario Access.
La pregunta es: ¿Cómo puedo capturar los datos contenidos en los campos de una página web? ¿puedo utilizar VBA o he de hacer uso de Java? ¿podéis facilitarme algún ejemplo?

Muchísimas gracias por vuestra ayuda.
Un cordial saludo,
Marta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Capturar datos de una página web.

Publicado por Alejandro (4142 intervenciones) el 02/05/2023 22:36:06
Hola Marta.

Sí, es posible capturar los datos de una página web desde Access utilizando VBA. Una forma de hacerlo es utilizando el objeto "InternetExplorer.Application" que permite controlar el navegador Internet Explorer.

A continuación, te proporciono un ejemplo de cómo podrías capturar los datos de una página web y guardarlos en tu base de datos:

1. Crea un formulario en Access con los campos que necesitas para almacenar la información de la ficha legislativa.

2. En el evento "Al hacer clic" del botón que se encargará de la captura de datos, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Private Sub btnCapturarDatos_Click()
 
    ' Crea una instancia del objeto Internet Explorer
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
 
    ' Navega hasta la página que contiene los datos a capturar
    ie.Navigate "https://www.ejemplo.com/ficha-legislativa"
 
    ' Espera a que la página se cargue completamente
    Do While ie.Busy
        DoEvents
    Loop
 
    ' Captura los datos de los campos de la ficha
    Dim campo1 As String
    campo1 = ie.Document.getElementById("campo1").Value
    ' Repite para cada campo de la ficha
 
    ' Cierra el objeto Internet Explorer
    ie.Quit
 
    ' Guarda los datos en la base de datos
    Dim db As DAO.Database
    Set db = CurrentDb()
    Dim rs As DAO.Recordset
    Set rs = db.OpenRecordset("NombreDeLaTabla")
 
    rs.AddNew
    rs("Campo1") = campo1
    ' Repite para cada campo de la ficha
 
    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing
 
    MsgBox "Datos capturados correctamente."
 
End Sub

3. Ajusta el código para que los nombres de los campos y los identificadores de los elementos HTML correspondan a los de la página que estás utilizando.

Espero que este ejemplo te sea de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar