Saltar al contenido

Scraping VBA


Recommended Posts

publicado

Hola Buenas Noches,

Tengo un problema ya que estoy haciendo scraping a una página la cuál contiene sólo eventos Class para descargar la información y no me permite descargar nada queda la hoja en blanco.

He probado con todos los class y aún así no puedo obtener la descripción y URL de los productos que es lo que ando buscando. Alguien me podría ayudar a obtener dicha información. Adjunto el archivo.

Muchas Gracias.Prueba.xlsm

Prueba.xlsm

publicado

Por lo que veo, el problema proviene de la confiabilidad de la página. Estoy haciendo pruebas y en google chrome puedo ver la pg con el url que usas, pero en el navegador de mi pc no, lo cual quiere decir que está siendo bloqueada o algo por el estilo... Seguiré intentando un poco más para ver que se puede hacer, y te informo

publicado

Gracias por tu ayuda @Luis paz, como te comenté yo probé con todos las clases y no pude obtener información.

 

publicado

Es que el tema no son las clases, sino siento que es la página web, porque he utilizado otro código usando tu URL, pero no abre la página correctamente.. Queda en blanco, lo cual me hace creer que el problema no es tu código, sino que la página ha de tener algún plugin que detecta la automatización... En realidad no sé si exista un plugin que detecte eso...

Adjunto la prueba que he realizado...

Prueba.xlsm

publicado

@Luis paz    No solo no lo has arreglado sino que encima le has cambiado los objetos al código de Origen. El trabajar con IE está más que obsoleto, salvo en muy contadas ocasiones, además falla más que una escopeta de feria. Aparte de tener que esperar 5 segundos a ver si se carga la página tienes que chequear si se ha cargado con el readyState y demás...

Como tengas que acceder a 100 url´s por 5 segundos, al menos cada una...

@sretamalb   Este es un caso parecido al que te resolví de Falabella, trata el RESPONSETEXT como texto y podrás extraer bastante información. Ahí te pongo algo de código para que veas que, por lo menos, puedes extraer los precios.

    texto = Split(XMLPage.responseText, "cardPrice")
    
    For x = 1 To UBound(texto)
        MsgBox texto(x)
    Next
 

publicado

Gracias @José_Santos por tu ayuda!!!!
al utilizar el código me arroja este mensaje:

image.png.8a4d59b90c91a2e6c7ef948b2653a57c.png

Será correcto?

publicado

@José_Santos porque no me aparece el apartado de Red en mi navegador?

publicado

@José_Santos estaba en Chrome, ahora viéndolo bien en Firefox aparece.

Revisaré y te comento.

Muchísimas gracias nuevamente.

publicado

@José_Santos revisando en red debe salir explicitamente que la información es de tipo JSON? Porque estoy analizando la web pero no viene ningún formato tipo json o puede ser otro?

publicado

@José_Santos es normal que aparezcan todos los dominios con un candado?

image.thumb.png.cb4dd879785f68024527bc7e71f73b75.png

En tipo no encuentro ninguno con el nombre de JSON

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    3    1

  • Crear macros Excel

  • Mensajes

    • Saludos amigos espero estén bien  En la actualidad utilizo la siguiente macro para generar un código alfanumérico continuo que al guardar los datos se copia en la Celdas “B5” de las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Private Sub CommandButton3_Click()     If Hoja58.Range("B5").Value < 9999 Then Hoja58.Range("B5").Value Hoja58.Range("B6").Value + 1     Else        Hoja58.Range("B5").Value = 1     End If If Hoja59.Range("B5").Value < 9999 Then Hoja59.Range("B5").Value = Hoja59.Range("B6").Value + 1 Else        Hoja59.Range("B5").Value = 1     End If End Sub El código se genera normalmente sin embargo no se copia inmediatamente en las Celdas “B5” sino que aparece en las Celdas “B6” mientras que las Celdas “B5” siempre permanecen en blanco, actualmente el código consta de tres letras y cuatro dígitos (RCI-0000) pero me interesa poderle concatenar el mes y año en formato mm-yy para que el código finalmente quede expresado de la siguiente forma RCI-0000-00-00 Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • Saludos amigos espero estén bien  En la actualidad  los datos provenientes de los TextBox 5, 6 y 7 se guardan en las Columnas H, I y O de las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) sin embargo cuando el texto es abundante no se visualiza completamente en las celdas correspondientes de allí que necesito que cada fila se ajuste al tamaño de la celda que contenga mayor cantidad de texto para lo cual he probado con la siguiente macro: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.EntireRow.AutoFit End Sub Sin embargo, dicha macro coloca todas las filas del tamaño del texto que contengan y lo que en realidad necesito es que dicha macro solo se aplique desde la Fila 5 en adelante. Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • Saludos amigos espero estén bien  En la actualidad utilizo la siguiente macro para que la fecha aparezca en el Textbox2: Private Sub UserForm_activate() Me.TextBox2.Value = VBA.Date End Sub Sin embargo, una vez guardo los datos la fecha cambia de formato y se guarda en formato mm/dd/yyyy en vez de dd/mm/yyyy y este cambio de fecha me distorsiona los resultados de las fórmulas en las Columnas J en las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • ¡Hola! Después de un buen tiempo ausente...  @Gabriela hg ya que veo que tienes Excel 365, te dejo mi solución para piezas y gramos.   Extraer piezas - gramos 365_GP.xlsx
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.