Web Scraping interactivo con Selenium | Web Scraping PARTE 5

Поделиться
HTML-код
  • Опубликовано: 2 ноя 2024

Комментарии • 131

  • @LeonardoKuffo
    @LeonardoKuffo  4 года назад +7

    🔥🔥🔥🔥 ¿Quieres aprender TODO sobre Web Scraping? Inscríbete en mi curso maestro de extracción de datos: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583
    📝 Código: github.com/lkuffo/leonardo-youtube/tree/master/Web%20Scraping
    CONTENIDO
    00:00: Que es Web Scraping
    00:30: El problema con Scrapy
    01:48: Que es Selenium
    02:24: Instalar Selenium en Python
    03:20: Instalar el driver de Selenium de Google Chrome
    06:11: INICIO DE PRACTICA
    07:12: Abrir el driver de Google Chrome
    07:55: Abrir una página en Selenium
    09:15: Como hallar la información que quiero extraer del DOM
    13:40: Recorrer listas de elementos del DOM
    18:50: Dar click al botón que carga mas anuncios
    21:04: Cómo esperar por la carga de nueva información.
    23:30: Cómo cargar información de manera iterativa.
    25:30: Manejando errores en Selenium
    27:30: Resultado final del script
    29:10: Final

    • @dragon_lead
      @dragon_lead 4 года назад

      hola una pregunta, es recomendable usar selenium en producción? sino es recomendable, cual me recomiendas para usar con python en producción? gracias por tu atención

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola. Podrías ser un poco más específico para poder guiarte de mejor manera? Específicamente que deseas realizar en producción?

    • @Perseo20008
      @Perseo20008 3 года назад

      Buenas noches, en este curso también se vería el tema de selenium?

  • @Mauricehernadez
    @Mauricehernadez 4 года назад +10

    El video y la explicacion es genial! Sigue así, muchas gracias!!. Tambien deberias considerar hacer uno con datos que se vayan cambiando constantemente y sacar el dato a tiempo real.

  • @saulpebete8738
    @saulpebete8738 3 года назад

    al fin alguien que sabe enseñar a un lerdo como yo...MUCHAS GRACIAS!!! me apuntare a tu curso porque quiero lograr extraer también las imégenes y poder pasarlo todo a una csv para subir cosas a mi web

  • @ivancedo2517
    @ivancedo2517 4 года назад +2

    muy bien explicado, me ayudaste mucho para un trabajo, pude solucionar un problema con el que llevaba meses en media hora

  • @leonardomolina8958
    @leonardomolina8958 4 года назад +3

    Buen vídeo, muchas gracias. Quizás faltó mencionar que Selenium trae sus propias soluciones para esos tiempos de espera y esperas condicionales: las esperas implícitas y explícitas. Saludos!

    • @krishcm3016
      @krishcm3016 4 года назад

      tipo callbacks?

    • @Angelux31
      @Angelux31 4 года назад +1

      ​@@krishcm3016 selenium-python.readthedocs.io/api.html
      busca por: implicitly_wait

  • @bulmavegeta23
    @bulmavegeta23 2 года назад

    Que brillante eres amigo, super inteligente y compartes toda la info como es.
    Super interesante y facil que se ve selenium comparado con scrapy y urlib, aun no puedo empezar con selenium porque debo seguir practicando scrapy y poder dominarlo o al menos tener un buen conocimiento de scrapy.

  • @omarcubasbernal8552
    @omarcubasbernal8552 3 года назад +1

    Muy buen video, entendible todo, tienes vocación para la enseñanza, sigue así :)

  • @Angelux31
    @Angelux31 4 года назад +3

    Woow, excelente video!!! muy claro!!

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Angel,
      Me alegro que te haya gustado el video!
      Te invito a echar un vistazo a mi curso maestro de Web Scraping donde podrás indagar mucho más y aprender absolutamente todo sobre extracción de datos: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

  • @oscargm1979
    @oscargm1979 3 года назад +1

    Gracias.Justo lo que necesita.Te amo :)

  • @josemauriciojuradomorales6718
    @josemauriciojuradomorales6718 2 года назад

    Buena tarde Leonardo, este tutorial esta muy bien explicado te felicito, gracias por compartir tu conocimiento sobre el tema. Ahora que trato de poner en practica este ejercicio (Oct-2022) el método CLICK() no funciona he leído y al parecer SELENIUM cambió la metodología de los clic, sabes como se puede corregir este incidente?. Le estaría muy agradecido. Bendiciones.

  • @franciszambrano4954
    @franciszambrano4954 4 года назад +3

    Muy buen video.!! Deberia hacer un curso de pago, Yo estaria dispuesto a pagarlo.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      ¡Hola Francis! Estoy preparando un curso completo de Web Scraping. Pre-inscríbete aquí: forms.gle/H16dZbiKf4ZptkBx6

  • @duv8544
    @duv8544 Год назад

    Vamos a probar saludos desde Costa Rica Pura Vida

  • @beatrizsalgado536
    @beatrizsalgado536 2 года назад

    Hola
    Muy completo tu video. Quería preguntar comompoder hacerlo mismo pero en vez de un click aún botón, re correr toda la página con scroll down.
    Saludos

  • @josebuonagura
    @josebuonagura 3 года назад

    Gracias Leonardo, muy bien explicado, el código funciono de maravilla, Saludos

  • @Johandri123
    @Johandri123 Год назад

    explicas muy bien, gracias.

  • @Elforroful
    @Elforroful 3 года назад +1

    Muy buena data!!!! Una consulta, como puedo entrar en un input de un ?

  • @francoserna5976
    @francoserna5976 4 года назад

    Excelente contenido Leonardo!! No soy de comentar videos, pero la verdad que muy bueno! Y además acabo de comprar tu curso de udemy!

  • @MrAlejogodoy
    @MrAlejogodoy Год назад

    Hola, excelente video te felicito, dentro del mismo ejemplo, podrías ingresar a cada anuncio y extraer por ejemplo el telefono de contacto? me imagino que si se puede pero que tan complejo se vuelve el proceso

  • @emmanuellazarte8904
    @emmanuellazarte8904 3 года назад

    Consulta, si la página estuviese mal diseñada y quisiera acceder a los enlaces de cada fila de uno de los tantos , y no puedo usar xpath relativo, sólo xpath absoluto. Sería una alternativa ejecutar con selenium un .js que lo modifique con jquery y me resulte más fácil manipular? Gracias

  • @Esmeralda-ut1br
    @Esmeralda-ut1br 3 года назад

    Suscriptora nueva! Explicas muy bien y se nota que lo dominas! 🤓

  • @karinaferreiradias2563
    @karinaferreiradias2563 3 года назад

    Muy bueno. Gracias por compartir

  • @JavaDragon666
    @JavaDragon666 4 года назад

    excelente video... ahora me dio por tratar de automatizar la toma de los contadores de mis impresoras....xDD (por lo menos ya pude sacar info de la pagina inicial... )

  • @MrJorgeGomez
    @MrJorgeGomez 3 года назад

    Hola amigo, me puedes ayudar? tal vez es una pregunta muy obvia pero soy nuevo en esto.
    necesito traer el numero de coincidencias de un css y asi mismo crear una accion esa misma cantidad de veces...
    no se si me explico, espero puedas ayudarme...

  • @TauriMarie
    @TauriMarie 3 года назад

    ¡Excelente! ¡Muchísimas gracias por el tutorial!

  • @jorgegonzalezf
    @jorgegonzalezf 29 дней назад

    Muchas gracias por el video. Me interesa saber si hay alguna forma de scrapear un sitio que en lugar de un botón de "ver más" tiene un botón de "siguiente" similar al de Google, que al apretarlo cambia todo como si fuera una nueva página. El problema es que la carga es dinámica y la URL se mantiene exactamente igual al cambiar de página, por lo que no sé cómo solucionarlo.

  • @jorgel.ortegab.9066
    @jorgel.ortegab.9066 3 года назад

    Hola Leonardo, me gustaría saber si hizo un video con lo que menciono al final de este video?, sobre dar click en la informacion de los anuncios para sacar informacion y luego volver

  • @turingmexico3349
    @turingmexico3349 4 года назад

    Muy bien hecho el video. Gracias Leo.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola!
      Gracias!
      Te comento que tengo un curso maestro de extracción de datos de la web, en donde podrás aprender muchísimas más herramientas con mucho mayor detalle para hacer Web Scraping. Te comparto un link para que veas mas info si te interesa: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583
      Un saludo!

  • @jorgepinelo260
    @jorgepinelo260 3 года назад

    Muy buen video colega

  • @emmanuellazarte8904
    @emmanuellazarte8904 3 года назад

    Fenomenal, muy bueno, gracias!

  • @ruddyteheran7949
    @ruddyteheran7949 4 года назад +1

    Hola, Leonardo Kuffo, muchas gracias por excelente video explicativo a cerca del web scraping. Tengo una consulta: cómo resolvemos cuando en vez de un botón que cambia páginas; se tiene un captcha que deben resolverse operaciones matemáticas(+/-*/división) para concretar cotizaciones en una página donde se intenta hacer scraping.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Lamentablemente los captchas son una gran limitante del Web Scraping. Necesitarás contratar un servicio solucionador de captchas (como este: 2captcha.com/). Que son pagados :(. En su defecto puedes parar el código cuando detectes un captcha, resolver manualmente el captcha y una vez resuelto, continuas la ejecución del código. Suena engorroso pero lamentablemente es la única opción.
      Te comento que pronto lanzaré un curso completo sobre Web Scraping donde, entre muchas cosas, explicaré cómo resolver Captchas utilizando Selenium en conjunto con estos servicios pagados solucionadores de captchas. Si te interesa puedes pre-inscribirte aquí: forms.gle/h4LqRXRfC8W5Rs8D6

    • @calceta888
      @calceta888 2 года назад

      @@LeonardoKuffo valiosa info gracias

  • @carloschess2010
    @carloschess2010 3 года назад

    Se agradece, Master. SALUD!!!

  • @datexland
    @datexland 4 года назад +1

    Gracias por compartir ....

  • @mauriciomercado5593
    @mauriciomercado5593 4 года назад

    Excelente el video. Te quería consultar si Selenium se puede usar en Instagram.

  • @alvarolopez9943
    @alvarolopez9943 3 года назад

    Buenas Leo!, está muy bien explicado tus videos!. Ahora me preguntaba si tienes algún video de usar Selenium con condiciones?

  • @jhonyrun
    @jhonyrun 4 года назад

    Excelente..... Gracias por enseñar...

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Hector. Gracias por tu comentario! Te comento que acabé de lanzar un curso maestro donde podras aprender TODO sobre Web Scraping. Te puedes inscribir y ver más información entrando en el siguiente link: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

    • @jhonyrun
      @jhonyrun 4 года назад

      @@LeonardoKuffo Gracias yo ya lo compré, es el mejor en ese tema.....

  • @antonioyt7719
    @antonioyt7719 4 года назад

    Excelente video! totalmente entendible :D me suscribo

  • @miguelleon9894
    @miguelleon9894 3 года назад

    muy buen video, excelente.

  • @sebastiandev1522
    @sebastiandev1522 3 года назад

    hola se puede hacer con PHP y qué sevidor y estructura necesita si lo quiero tener en un vps?

  • @carlosvelasco8853
    @carlosvelasco8853 2 года назад

    Buenísimo!!

  • @isidrodeleon673
    @isidrodeleon673 4 года назад

    Muchas gracias por el video, está muy bueno. Tengo una consulta: Quiero controlar con python una pagina web donde hago recargas de saldo de celulares. El problema es que cuando hago click al boton "Cargar" me salta un diálogo de confirmacion y no sé como acceder a ese diálogo para darle al boton de "Confirmar". Cómo se podría hacer con Selenium? Gracias.

  • @MrDiagonalDiagonal
    @MrDiagonalDiagonal 3 года назад

    Excelente video hermano!! una consulta, como sería para instalarlo en un servidor de linux? Se puede?

  • @saulsantacruz9309
    @saulsantacruz9309 4 года назад

    Hola Leonardo, estoy interesado en que me automatices un scrap para extraer productos y otras infos de una pagina web dinamica (angular), y crear un archivo en csv para importarlo a woocomerce. Seria posible? Asi te contacto.

  • @miguellaversa
    @miguellaversa 4 года назад

    Excelente video! Como haces que te de las recomendaciones de selenium? Usas una extension?

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Miguel. Gracias por tu comentario. Creo que no entiendo muy bien tu pregunta o duda. Podrías detallar más la pregunta?

  • @Djoako22
    @Djoako22 3 года назад

    Osea que selenium sirve más para páginas dinámicas y scrapy para Multiples Páginas?

  • @SergioSanchez-jy4tg
    @SergioSanchez-jy4tg 4 года назад

    Hola Leonardo, Antes que nada una felicitación y agradecimiento por tus vídeos. en el minuto 12:45 del vídeo extraes el xpath a partir del "li", tengo una pagina en donde dice '>div class "grid-item__eaXVb" data-index="0" data-grid-id="XXX" y no logro ubicar el atributo para inmcorporarlo a la ruta, me podrías orientar. Gracias de antemano

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Sergio,
      Para esto podrías utilizar un XPATH más sofisticado como el siguiente:
      //div[contains(@class, "grid-item")]
      O en todo caso, todo depende si son elementos únicos o no dentro de la página también podrías utilizar este:
      //div[@data-grid-id="XXX"]
      Tengo un video enteramente dedicado para aprender XPATH: ruclips.net/video/0O1SyTh8Zxo/видео.html
      Te invito también a que le eches un vistazo a mi curso maestro de Web Scraping, en donde podrás aprender absolutamente todo sobre extracción de datos en la web: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

  • @davidnoyola1482
    @davidnoyola1482 4 года назад

    brooo, excelentes videos, sigue asi

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola David. Gracias por tu comentario! Te comento que acabé de lanzar un curso maestro donde podrás aprender TODO sobre Web Scraping. Te puedes inscribir y ver más información entrando en el siguiente link: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

  • @eddyalejandrosilvamotivar8497
    @eddyalejandrosilvamotivar8497 3 года назад

    Muy bueno!!

  • @jonathanfriz4410
    @jonathanfriz4410 4 года назад

    Hola, puedes leer una lista de datos por ejemplo user y password des un excel, y hacer que selenium lea una la ingrese luego lea la otra la ingrese, saque el resultado y lo guarde o imprima y luego continue con el siguiente par?(lo hice, pero solo me resulta para un set de datos, cuando aplico el for, lee toda la lista y trata de meter toda la lista en el sitio web)

  • @calceta888
    @calceta888 2 года назад

    Hola, que ya la funcion find_elemet_by_xpath() esta deprecated o estoy mal 🤔

  • @gemaacosta3112
    @gemaacosta3112 3 года назад

    Buenas tardes profe, cómo hago para descagar imagenes?. estaba probando con está linea de code, imagen=auto.find_element_by_xpath('.//span[@data-aut-id="itemImage"]'). pero me dio este error: NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":".//span[@data-aut-id="itemImage"]"}
    (Session info: chrome=91.0.4472.77). Gracias por la ayuda.

  • @archytekt
    @archytekt 4 года назад

    Necesito ayuda para hacer un programa de compra automaticas. He visto todas tus videos. Que me recomiendas? Cada vez voy entendiendo mas pero necesito mas informacion. Me podrias orientar?

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Felipe. Con lo que me comentas, tu programa puede abarcar muchas cosas. Tal vez si eres un poco más específico podría guiarte por un mejor camino ya que no encuentro cual es la relación de las compras automáticas con el Web Scraping. Espero tu respuesta para poder ayudarte!
      De todos modos te comento que acabé de lanzar un curso maestro donde podrás aprender TODO sobre Web Scraping. Te puedes inscribir y ver más información entrando en el siguiente link: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

    • @kevinfhj122
      @kevinfhj122 2 года назад

      1 año tarde, pero te informo que lo correcto sería usar pyAutogui

  • @jorgepinelo3233
    @jorgepinelo3233 3 года назад

    Maquina

  • @solucionesneirarduino4339
    @solucionesneirarduino4339 6 месяцев назад

    Bien

  • @arnoldchristianloaizafabia4657
    @arnoldchristianloaizafabia4657 4 года назад

    Buen día Leonardo, una consulta traté de crear un ejecutable para empaquetarlo con pyinstaller, pero al parecer no funciona, tu has tratado de empaquetarlo a un .exe, tal vez el chromedriver no lo puede empaquetar o mi entorno anaconda tal vez no exporta las librerias necesarias. Para simplemente darle un click al archivo exe y listo.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Arnold, no. Nunca he intentado hacer un ejecutable de Selenium. Desconozco si todo funcionaría de manera correcta.

  • @antonioja5912
    @antonioja5912 4 года назад

    Excelente video Leonardo, una pregunta, ¿A partir de un Item con 2 precios (es decir en rebaja) se puede crear un porcentaje referente a ese Item? Regularmente aparecen como Ej. Impresora ̶$̶1̶0̶0̶0̶ ahora esta a $500.00 por lo tanto es de 50% de descuento

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola Antonio,
      Claro que sí. En este caso tendrías que obtener ambos precios, y utilizar procesamiento de texto para convertir estos texto en números y finalmente sacar el porcentaje.
      En breves rasgos sería algo parecido a esto:
      precioOriginal = driver.get_element_by_xpath("//div/span/etc")
      precioDescuento = driver.get_element_by_xpath("//div/span/etc")
      precioOriginal = float(precioOriginal.replace("$", "").replace(".", ""))
      precioDescuento = float(precioDescuento.replace("$", "").replace(".", ""))
      descuento = precioDescuento / precioOriginal * 100
      Te invito también a que le eches un vistazo a mi curso maestro de Web Scraping, en donde podrás aprender absolutamente todo sobre extracción de datos en la web: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

  • @michaelmarianjel5014
    @michaelmarianjel5014 4 года назад

    👍 buen video

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Gracias Michael, me alegro que te haya gustado.
      Por cierto, te comento que tengo un curso maestro de extracción de datos de la web, en donde podrás aprender muchísimas más herramientas con mucho mayor detalle para hacer Web Scraping. Te comparto un link para que veas mas info si te interesa: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

    • @michaelmarianjel5014
      @michaelmarianjel5014 4 года назад

      Leonardo Kuffo ya lo tome. Recomendado.

  • @Johandri123
    @Johandri123 Год назад

    Esto se puede hacer con una busqueda de google maps?

  • @jhoanosorio1158
    @jhoanosorio1158 4 года назад

    El vídeo y la explicación fueron excelentes! Una pregunta, como podría utilizarlo para acceder a una paginacion y luego de acceder a ella, acceder a una sub-paginacion, es decir la primer paginacion esta dada de manera A, B, C, ... Z, y dentro de ella estan Aa, Ab, Ac, ... Az?, ademas de esto, como podria hacer que me entregue cada cierto tiempo una cantidad de elementos para que no me baneen la IP. Muchas gracias Leonardo Kuffo.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola Jhoan!
      Te recomiendo que para estos tipos de extracciones con paginación (más aún con paginación a 2 niveles de profundidad como lo explicas), intentes utilizar Scrapy. Ya que Selenium es bastante lento cuando se quiere extraer datos de varias páginas con paginación.
      Actualmente tengo un video donde enseño a realizar paginación con esta herramienta Scrapy que te menciono: ruclips.net/video/wHktvpgKX5k/видео.html
      A partir de este video la paginación a 2 niveles como mencionas, es simplemente añadir más reglas al CrawlSpider. Y para protegerte de los baneos de tu IP, como mínimo recomiendo configurar las siguientes variables:
      a) El "user_agent"para enmascarar tus requerimientos como que fueras un navegador.
      b) El "download_delay" para poner un tiempo de espera entre cada requerimiento. Y
      c) El "CLOSESPIDER_PAGECOUNT", para limitar el número de items por cada extracción
      Ahora, si deseas utilizar Selenium, o si la carga de datos es dinámica y no tienes otra alternativa..., es un poco complicado de explicar en un comentario. Pero lo intentare:
      PASO 1) Identificar como paginar sobre A, B, C, D, etc ==> Si tu paginación tiene un botón de "Siguiente" (así como en mercado libre). Puedes ir a las siguientes páginas dando click en dicho botón. Y asi vas recorriendo cada página del listado hasta la última. Si no tienes un botón de "Siguiente", debes extraer los URLs de los numeritos de las páginas, los guardas en una lista, y los vas iterando.
      for url in urls:
      driver.get(url)
      PASO 2) Por cada página que visitamos de (ej. A). Tienes que identificar como paginar sobre Aa, Ab, Ac. De nuevo, si no tienes un botón de "Siguiente". Tienes que extraer todas las URLs que te llevan a las páginas Aa, Ab, Ac, etc., los guardas en una lista, y lis vas iteranto
      for sub_url in sub_urls:
      driver.get(sub_url).
      PASO 3) Finalmente, cuando ya estes en la página que contiene la información que quieres extraer. Extraes la data. Y haces: driver.back(), para que el driver vuelva a la página anterior (que debería ser alguna de las: (Aa, Ab, Ac). Para poder dirigirte a la siguiente.
      PASO 4) Cuando terminas con todas las Aa, Ab, Ac, tienes que hacer de nuevo driver.back(), para volver a la paginación principal: A, B, C. Para poder dirigirte a la siguiente. Y vuelves al PASO 2
      Si, suena complejo al explicarlo solo en un comentario, pero en la práctica no es tan complejo como suena :(
      En aproximadamente 1 semana lanzaré mi curso maestro online de Extracción de datos de la web, donde, entre tantos temas que voy a topar, enseño como hacer paginación a dos niveles (tu problema) en ambas herramientas: Scrapy y Selenium, y hago ejemplos de como resolverlo. Si te interesa saber más pre-inscríbete aquí: forms.gle/yhjMbmEPscdo5KhW8

    • @omarrosas5524
      @omarrosas5524 4 года назад

      Gracias

  • @JohannValverde
    @JohannValverde 3 года назад

    hola Leonardo, muy buen tutorial, sin embargo, no me imprime los datos de precio y descripcion sino que me despliega una lista de sesiones comenzadas por [

    • @LeonardoKuffo
      @LeonardoKuffo  3 года назад

      Lo más probable es que te haya faltado el ".text" para extraer el texto del elemento.
      Si quieres aprender mucho más en detalle sobre Selenium y otras herramientas para el Web Scraping no dudes en checar mi curso online de Web Scraping con más de 13 horas de contenido. Te dejo un link para que lo puedas adquirir al precio más bajo en tu moneda local: www.udemy.com/course/curso-maestro-web-scraping/?couponCode=NUEVENOVENTAYNUEVE

  • @JorgeGonzalez-jh2bo
    @JorgeGonzalez-jh2bo 4 года назад

    Ayuda: Hola tengo una duda : en la variable autos, deberia de tener algún tamaño o valor cuando se ejecuta) porque me sale tamaño=0

  • @adnanjebailey2223
    @adnanjebailey2223 4 года назад

    Hola! Como hago para organizar los datos que están en print() utilizando el pandas? Gracias.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +2

      Hola! Mete los datos en una lista de diccionarios que quede así:
      d = [
      {'nombre': 'CARRO 1', 'precio': 398},
      {'nombre': 'CARRO 2', 'precio': 999}
      ... ETC ...
      ]
      Para esto crea la lista vacia:
      d = [ ]
      Y luego empiezas a añadir los diccionarios a la lista dentro del for:
      d.append( {'nombre': titulo, 'precio': precio} )
      Luego haces:
      import pandas as pd
      pd.DataFrame(d)
      Por cierto, pronto lanzaré un curso completo sobre Web Scraping. Si te interesa puedes pre-inscribirte aquí: forms.gle/h4LqRXRfC8W5Rs8D6

  • @yuniorlabour1811
    @yuniorlabour1811 4 года назад

    Asi como importo usted los datos de descripción y precio, como se podría importar imágenes

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      ¡Hola! Para descargar imágenes tienes que utilizar otra librería llamada Pillow. Puedes encontrar referencias de como hacer esto utilizando Selenium y esta librería Pillow aquí en la sección 3 de este artículo:
      towardsdatascience.com/image-scraping-with-python-a96feda8af2d
      Te haré un resumen. Se hace un requerimiento a la URL de la imágen que tienes que extraer con Selenium de la página web. Usualmente está en el atributo "src" de la imagen. Luego haces un requerimiento get con la librería requests a esta imágen. Y con la librería io, y Pillow te descargas la imagen en tu computadora.
      import requests
      from PIL import Image
      import io
      url = "url.de.la.imagen"
      image_content = requests.get(url).content
      image_file = io.BytesIO(image_content)
      image = Image.open(image_file).convert('RGB')
      file_path = 'imagen1.jpg' # nombre a guardar de la imagen
      with open(file_path, 'wb') as f:
      image.save(f, "JPEG", quality=85)

  • @duv8544
    @duv8544 Год назад

    Se puede hacer con Google maps?

  • @carlos40129
    @carlos40129 3 года назад

    se podria postear con wordpress?

  • @hpulces
    @hpulces 4 года назад

    Hola, y usando scroll down como seria

  • @gabrielcaceres9173
    @gabrielcaceres9173 4 года назад

    Leonardo pudieras preparar algo asi pero extrayendo tambien las imagenes???

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Gabriel. Te comento que acabé de lanzar un curso maestro donde podrás aprender TODO sobre Web Scraping, incluyendo la extracción de imágenes de un sitio web. Te puedes inscribir y ver más información entrando en el siguiente link: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583

  • @josuecaleb6482
    @josuecaleb6482 3 года назад

    Como puedo exportarlo a csv?

  • @indramilthonmaharam929
    @indramilthonmaharam929 Год назад

    y como seria si solo deseo el precio y descripcion de un solo auto en particular

  • @lifefarer2633
    @lifefarer2633 4 года назад

    bro excelente video... pero sabes porque la ventana de chrome se me cierra automaticamente apenas se completa la carga de la pagina, sabes que podria ser?

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Juan,
      Podrías compartirme tu código para ayudarte de una mejor manera?

  • @JorgeGonzalez-jh2bo
    @JorgeGonzalez-jh2bo 4 года назад

    Me pasaba que no cargaba los datos. Es porque mi internet es un poco lento. Para ello puse un intervalo de tiempo de 10 segundos para que la pagina cargue bien. import time y luego de la linea give.get pongo time.sleep(10). Problema resuelto. Espero haber ayudado.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola Jorge.
      Muchas gracias!
      Pues sí, al parecer en realidad creo que la página ha cambiado un poco y el botón como tal, carga de forma dinámica un poco luego de que la página ha terminado su carga inicial.
      Por cierto, te comento que tengo un curso maestro de extracción de datos de la web, en donde podrás aprender muchísimas más herramientas con mucho mayor detalle para hacer Web Scraping. Te comparto un link para que veas mas info si te interesa: www.udemy.com/course/curso-maestro-web-scraping/?referralCode=1BA4AD4AD4BED138A583
      Gracias de nuevo!
      Un saludo

  • @JOSEALVAREZ-sm5zq
    @JOSEALVAREZ-sm5zq 4 года назад

    muy bueno... pero no imprime en el shell de python; print(precio) y tampoco print(descripcion). ¿A que se deberá este error?

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Porfavor comparteme tu codigo para poder ayudarte de mejor manera

    • @JorgeGonzalez-jh2bo
      @JorgeGonzalez-jh2bo 4 года назад

      tal vez te ayude el comentario que puse arriba.

  • @axlp6865
    @axlp6865 4 года назад

    Buenas, no me ejecuta el codigo al poner seleniumvid.py, asi tambien nombre al mio. Solo abre en un txt el codigo, pero no lo ejecuta. Ayuda por favor

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Axl,
      No entiendo muy bién el problema. Como estás intentando ejecutar el programa?

  • @brandonsepux
    @brandonsepux 3 года назад +1

    amigo muy buen video, pero me sale este error al ejecutarlo :(
    DevTools listening on ws://127.0.0.1:58210/devtools/browser/30324809-08a3-47f9-a170-7b96d4fdd037
    [536:15260:0103/165824.006:ERROR:device_event_log_impl.cc(211)] [16:58:24.004] USB: usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: Uno de los dispositivos conectados al sistema no funciona. (0x1F)

    • @dzambrano8650
      @dzambrano8650 3 года назад

      @Leonardo Kuffo, nos ayudarías con esta duda, por favor, Intente instalando el webdriver manager pero sucede el mismo error :( ... Gracias por compartir tu conocimiento !

  • @julioalvarezvilla6223
    @julioalvarezvilla6223 4 года назад

    Cordial saludo
    Cuando me abre el driver de Chrome no me permite la conexión a internet, ya desactive el antivirus, e igual no funciona.

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Julio,
      Intenta reiniciando tu computadora. He leído que esto puede solucionar este extraño problema.
      Un saludo

  • @dainerduranmejia4569
    @dainerduranmejia4569 4 года назад

    Tengo problemas con la versión de mi driver, mi versión es Versión 83.0.4103.106 (Build oficial) (64 bits)

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola Dainer,
      ¿Que problema estás teniendo en específico?
      Esa versión si se encuentra soportada dentro de las versiones actuales de Selenium WebDriver: sites.google.com/a/chromium.org/chromedriver/downloads

    • @dainerduranmejia4569
      @dainerduranmejia4569 4 года назад

      Gracias ya logré solucionarlo!

  • @juanvial2753
    @juanvial2753 4 года назад

    Hola Leonardo! Oye el codigo da un error, incluso copiado directo, y revise la pagina y no ha sufrido cambios en su estructura. Este es el error.
    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//button[@data-aut-id="btnLoadMore"]"}
    Saludos

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад +1

      Hola Juan. La carga del botón que obtenemos en la línea 9 se ha convertido en dinámica luego de que carga la página. Por lo que en la línea 8 tenemos que agregar un sleep(3), para poder obtener el botón sin problemas.

    • @juanvial2753
      @juanvial2753 4 года назад

      @@LeonardoKuffo Ok! Voy a probar! Gracias. Y te puedo preguntar una cosa mas, pero por otro medio? Que me tiene súper complicado jajaja

  • @everipena5814
    @everipena5814 4 года назад +1

    Está muy bueno, pero en pypi no puedo instalar time, me ayudan? :c

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola! Time ya viene instalado por defecto con python. Es decir no debes instalarlo. No deberia darte ningun error al utilizarla :))

  • @exilio6983
    @exilio6983 3 года назад

    hola compa tengo este error C:\Users\legolas\PycharmProjects\pythonProject1\venv\Scripts\python.exe C:/Users/legolas/PycharmProjects/pythonProject1/main.py
    Traceback (most recent call last):
    File "C:\Users\legolas\PycharmProjects\pythonProject1\main.py", line 8, in
    driver = webdriver.chrome('chromedriver.exe')
    TypeError: 'module' object is not callable

  • @CarlosRojas-fl4rb
    @CarlosRojas-fl4rb 4 года назад

    A mi me aparece este error [8632:15932:0726/195113.868:ERROR:device_event_log_impl.cc(208)] [19:51:13.868] Bluetooth: bluetooth_adapter_winrt.cc:1074 Getting Default Adapter failed. :(

    • @LeonardoKuffo
      @LeonardoKuffo  4 года назад

      Hola Carlos,
      Podrías intentar actualizando Google Chrome?
      Y por ende, descárgate la versión correspondiente al WebDriver de la nueva versión que instalaste
      Me avisas como te va

  • @igng1
    @igng1 3 года назад

    buenas, excelente video y canal!! pero en mi caso no lo pude lograr ya que me da error al colocar .text:
    File "c:\Users\Usuario\Desktop\Programación\alquiler.py", line 67, in
    aptos_cv = driver.find_elements_by_xpath('//li[@class="ui-search-layout__item"]').text
    AttributeError: 'list' object has no attribute 'text'
    También al colocar .find_elements_by_xpath luego de la variable dentro del for, no me la marca en color, al parecer no la reconoce. He probado de todo.
    Espero alguien me pueda ayudar, saludos y muchas gracias!!

  • @nicolasllop7752
    @nicolasllop7752 11 месяцев назад

    uere ele

  • @soulfire123456789
    @soulfire123456789 3 года назад +1

    No entiendo tu forma de escribir xpath... todos los navegadores tienen extractor de xpath integrado, pero tu se basas en copiar el codigo desde imagino un papel o otra pantalla y resulta desesperante tener que aprender python + selenium + xpath cuando una parte te la puedes saltar usando el codigo que devuelve chrome... pero tu la has creado anteriormente

    • @estebanmoya7071
      @estebanmoya7071 3 года назад +1

      A largo plazo no es recomendable utilizar el extractor xpath del navegador, dado que esas expresiones tienen ALTO acoplamiento y con cualquier minimo cambio que hagan los devs, te dejan de funcionar.

    • @kevinfhj122
      @kevinfhj122 2 года назад

      @@estebanmoya7071 ESTO!!! 👌

  • @fuarrkk
    @fuarrkk 3 года назад

    De verdad no sabes pronunciar la letra R? Se dice Erre. No 'ere'.

  • @GustavoAzlan
    @GustavoAzlan 2 месяца назад

    leo muchas gracias por la informacion, hay algun grupo de telegram o discord para poder interactuar?

  • @naren-7
    @naren-7 Год назад +1

    Si los siguientes métodos no funcionan:
    find_elements_by_xpath()
    find_element_by_xpath()
    puedes usar las siguientes:
    find_elements("xpath", '//li[@data-aut-id="itemBox"]')
    precio = moto.find_element("xpath", './/span[@data-aut-id="itemPrice"]').text

  • @yeica
    @yeica 3 года назад

    Muy bien video, muchas gracias

  • @joseradowvisky6292
    @joseradowvisky6292 4 года назад

    Muy bueno!!!!