• Inicio
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso Web Scraper con Python!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso Web Scraper con Python

Video ¿Qué es un web Scraper?

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

Comencemos con la pregunta obligada ¿Qué es un web Scraper? la respuesta es muy sencilla; verás, un scraper no es más que un programa el cual tiene como finalidad extraer información de sitios web. Este tipo de programas regularmente simulan la navegación de un usuario a través del protocolo HTTP. 😎

Podemos ver a un scraper como un pequeño bot, el cual, al nosotros indicar un target, es decir una página web, este comenzará un proceso de búsqueda y extracción de información. 🤖

Al software diseñado para scrapear páginas web comúnmente lo conoceremos como bot, spider, crawler o simplemente web scraper.

Los scrapers pueden ser tan sencillos o complejos como nosotros deseemos. Por ejemplo, el simple hecho de nosotros buscar la letra de nuestra canción favorita y copiarla, puede fácilmente ser clasificado como un scraper. Otro ejemplo pudiera ser un programa automatizado, para ser ejecutado todos los días a las 9am de tal forma que pueda extraer las noticias más relevante de tecnología. 🎉

La ventaja de un web scraper recae en su automatización. Si bien es cierto nosotros podemos extraer información de páginas web, de forma manual, este proceso puede llevarnos una gran cantidad de tiempo y esfuerzo. Por ejemplo, imaginemos que todos los días, en nuestra primera tarea diaria, debamos obtener el resultado de los últimos partidos jugados alrededor del mundo, para ello probablemente tengamos que visitar un par de páginas web. Este proceso, de forma manual, en el mejor de los casos , puede llevarnos un par de minutos, ya que tendríamos que buscar, copiar, pegar, realizar scroll, hacer clics etc… Esto sin duda es un problema, y para solucionarlo lo mejor que podemos hacer es implementar un web scraper, el cual realizará misma tarea en mucho menos tiempo y sin mucho esfuerzo. 👻

Al nosotros realizar un web scraper debemos tomar muy en cuenta nuestro propósito. Recordemos que un scraper simula la navegación de un usuario. Si en dado caso nuestro programa no contempla ciertos parámetros, por ejemplo un número limitado de peticiones o la rapidez con que estas se hacen, podemos hacer que el sitio web el cual estamos scrapeando tenga un rendimiento lento o inclusive llegue colapsar. Es por ello que hay que ser muy conscientes en el número de peticiones y la forma en la cual obtendremos la página web . De igual forma hay que tomar en cuenta si el sitio web permite, o no el web scraping. La forma más sencilla de saberlo es a través del archivo robots.txt. En este archivo encontraremos reglas muy puntuales sobre qué páginas son permitidas o no scrapear.

Este archivo usualmente lo encontraremos en la raíz del sitio web.
http://example.com/robots.txt.

Si en el archivo robots.txt encontramos algo como lo siguiente:

User-agent: *
Disallow:/ 

Se nos indica que el sitio web no permite y no desea ser scrapeado.

Es importante mencionar que apesar que un sitio web posea el archivo robots.txt y exprese explícitamente no desear ser scrapeado, esto no limitará el funcionamiento de nuestro programa, ya que recordemos, por naturaleza el internet es un sitio abierto, donde todo el mundo puede tener acceso a él. El archivo robots.txt está diseñado, principalmente, para limitar a grandes scrappers, como lo puede ser google o sistemas de scrapeo. 👻

Si quieres crear tu propio archivo robots.txt para tu página web te comparto un link el cual sin duda te será de mucha utilidad.

Cómo realizar un scraper?

Cuando estemos en el proceso de realizar un web scraper hay que tener en cuenta un par de cosas, lo principal es el maquetado del sitio web. Debemos tomarnos el tiempo suficiente para examinar exactamente como está construido el sitio web, que tipo de etiquetas utiliza, qué patrones, si es o no dinámico o reactivo etc … A partir de ello seremos capaces de planificar la mejor forma en la cual podamos extraer la información que deseemos.

Veamos un ejemplo.

<ul>
  <li>Python</li>
  <li>Java</li>
  <li>C#</li>
  <li>JavaScript</li>
</ul>

En este caso podemos percatarnos que cada uno de los elementos de la lista, los cursos, se encuentran alojados en etiques <li> las cuales a su vez están en una etiqueta ul. Con esto en mente, si deseamos obtener todos los cursos, debemos recorrer recorrer cada una de las etiquetas li y extraer su contenido.

Este maquetado puede ser algo obvio, las etiquetas li siempre deben encontrarse dentro de una etiqueta ul sin embargo déjame decirte que hay ciertas páginas web que a veces no siguen estándares y se vuelve un poco complejo “adivinar” exactamente cuál será su siguiente patrón.

Conclusión

El internet es sin duda enorme, y cada segundo se agrega nuevo contenido a él. Si deseamos realizar búsquedas de forma repetitiva, hacerlo de forma manual no es una opción. Lo mejor que podemos hacer es simplemente apoyarnos de un web scraper, y que mejor aun si nosotros mismos lo desarrollamos. 🍻

  • check_circle_outline
    Módulo 1 | 6 clases

    Introducción

    expand_more
    • done_all

      Clase 1

      Introducción

    • done_all

      Clase 2

      ¿Qué es un web Scraper?

    • done_all

      Clase 3

      Obtener página web

    • done_all

      Clase 4

      Substring

    • done_all

      Clase 5

      Expresiones regulares

    • done_all

      Clase 6

      Leer archivos

  • check_circle_outline
    Módulo 2 | 10 clases

    Beautiful Soup

    expand_more
  • check_circle_outline
    Módulo 3 | 3 clases

    Modificar DOM

    expand_more
  • check_circle_outline
    Módulo 4 | 5 clases

    Projectos

    expand_more

1 comentario(s)

Paula Victoria Suárez Blanco

14 Octubre 20

2
more_vert
  • Resuelta
Primera vez que escucho este termino. Parece muy interesante. 

¿Qué es un web Scraper?

arrow_back Siguiente arrow_forward
Curso Web Scraper con Python