Web Scraping interactivo con Selenium | Web Scraping PARTE 5

Поділитися
Вставка
  • Опубліковано 25 жов 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?

  • @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

  • @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.

  • @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

  • @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í :)

  • @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

  • @oscargm1979
    @oscargm1979 3 роки тому +1

    Gracias.Justo lo que necesita.Te amo :)

  • @duv8544
    @duv8544 Рік тому

    Vamos a probar saludos desde Costa Rica Pura Vida

  • @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

  • @josebuonagura
    @josebuonagura 3 роки тому

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

  • @Johandri123
    @Johandri123 Рік тому

    explicas muy bien, gracias.

  • @karinaferreiradias2563
    @karinaferreiradias2563 3 роки тому

    Muy bueno. Gracias por compartir

  • @jorgepinelo260
    @jorgepinelo260 3 роки тому

    Muy buen video colega

  • @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.

  • @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!

  • @TauriMarie
    @TauriMarie 3 роки тому

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

  • @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

  • @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

  • @carloschess2010
    @carloschess2010 3 роки тому

    Se agradece, Master. SALUD!!!

  • @Esmeralda-ut1br
    @Esmeralda-ut1br 3 роки тому

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

  • @emmanuellazarte8904
    @emmanuellazarte8904 3 роки тому

    Fenomenal, muy bueno, gracias!

  • @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!

  • @datexland
    @datexland 4 роки тому +1

    Gracias por compartir ....

  • @carlosvelasco8853
    @carlosvelasco8853 2 роки тому

    Buenísimo!!

  • @miguelleon9894
    @miguelleon9894 3 роки тому

    muy buen video, excelente.

  • @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

  • @jorgegonzalezf
    @jorgegonzalezf 21 день тому

    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.

  • @antonioyt7719
    @antonioyt7719 3 роки тому

    Excelente video! totalmente entendible :D me suscribo

  • @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

  • @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

  • @Elforroful
    @Elforroful 3 роки тому +1

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

  • @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...

  • @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... )

  • @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.....

  • @alvarolopez9943
    @alvarolopez9943 3 роки тому

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

  • @eddyalejandrosilvamotivar8497
    @eddyalejandrosilvamotivar8497 3 роки тому

    Muy bueno!!

  • @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

  • @mauriciomercado5593
    @mauriciomercado5593 4 роки тому

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

  • @sebastiandev1522
    @sebastiandev1522 3 роки тому

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

  • @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)

  • @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.

  • @Djoako22
    @Djoako22 3 роки тому

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

  • @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

  • @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.

  • @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: ua-cam.com/video/0O1SyTh8Zxo/v-deo.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

  • @calceta888
    @calceta888 2 роки тому

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

  • @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.

  • @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.

  • @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?

  • @MrDiagonalDiagonal
    @MrDiagonalDiagonal 3 роки тому

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

  • @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

  • @Johandri123
    @Johandri123 Рік тому

    Esto se puede hacer con una busqueda de google maps?

  • @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

  • @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

  • @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

  • @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.

  • @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: ua-cam.com/video/wHktvpgKX5k/v-deo.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

  • @jorgepinelo3233
    @jorgepinelo3233 3 роки тому

    Maquina

  • @duv8544
    @duv8544 Рік тому

    Se puede hacer con Google maps?

  • @indramilthonmaharam929
    @indramilthonmaharam929 Рік тому

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

  • @carlos40129
    @carlos40129 3 роки тому

    se podria postear con wordpress?

  • @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

  • @solucionesneirarduino4339
    @solucionesneirarduino4339 5 місяців тому

    Bien

  • @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?

  • @hpulces
    @hpulces 4 роки тому

    Hola, y usando scroll down como seria

  • @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 !

  • @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

  • @josuecaleb6482
    @josuecaleb6482 3 роки тому

    Como puedo exportarlo a csv?

  • @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

  • @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)

  • @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

  • @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?

  • @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!

  • @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

  • @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 :))

  • @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 Місяць тому

    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!!!!