Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Cómo continuar tu ruta de aprendizaje

21/21
Recursos

Aportes 72

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Facilmente este ha sido el curso que mas me ha gustado! Un crack Facundo!

RESUMEN:“Recordando”

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

En este curso aprendimos :


  • Las bases fundamentales del webscraping y porqué es importante en la actualdiad.
    y porqué esta herramienta es útil conocerla y saberla usar como un backend o un data Scientist
  • El web scraping es uan actividad que se puede hacer en diferentes lenguajes de programación, y con distintas herramientas automatizables, ya sea desde código hasta pluggins de chrome.
  • Revisar el robots.txt para saber siempre lo que está restringido por el usuario administrador, y así
    no incurrir en problemas legales.
  • Revisar legalidad sobre extracción de datos del país donde pretendo realizar webscraping
  • Xpath Lenguage como un generador de patrones de búsqueda en un árbol del DOM. Es decir, un apuntador a un XML.

    Xpath es a HTML como REGEX es a un documento de texto. Facundo Nicolás García Martoni

  • La variabilidad de las expresiones Xpath varían en función del recorrido que se tome en el HTML,
    en el sitio web como tal y sus desarrolladores, así como las visicitudes del tiempo.
  • HTTP es un protocolo de comunicación para la transferencia de información. Así habla el cliente y el servidor.
  • HTTP es un paquete que lleva consigo HTML, CSS, Js, Web APIs. Y el servidor da una respuesta numérica en un intervalo de (100-500) que son respuestas a sucesos con el servidor.
    Van desde la abnegación de información a la satisfación de la solicitud.
  • Preparar el ambiente de trabajo apropiado en python es crucial, y lo aprendimos en diferentes OS, sobre Cmder en Windows
    y sobre las buenas prácticas de los ambientes virtuales.
  • Aprendimos las librerías Request, Lxml, Os, datetime, autopep8
  • Sobre manejo de errores, creación de archivos y carpetas en función de Noticias scrapeadas.
  • Utilizamos manejadores contextuales y desarrollamos un scraper robusto que colecta noticias del diario Colombiano “la republica”

Y yo que pensaba que Feddy y David Aroesti eran los únicos dioses en el olimpo de Platzi.
Que grato es ver que ahí habitan más profesores increíbles.
Eres grande Facundo, aunque esto tiene un por qué, me tocó que el profe me comentara post hechos en cursos pasados de python, por lo que puedo asumir que se echó todos los relacionados con ciencias de datos y de ahí armo este curso, se nota porque este curso tiene cubiertas todas las quejas que se expresan en los demás.

Gracias por tu dedicación profe Facundo.

Eres con diferencia el profe que más me ha gustado. Gracias crack.

Hola, compañeros me gustaria compartirles mi proyecto de scraping, por si quiere practicar, es un scraper de tiempos verbales en varios idiomas:
https://github.com/bcalero97/languague_scraper

Muy buen profe y excelente curso.
Justo acabando el curso hice este simple programa para obtener un listado de las canciones de una playlist de spotify en un archivo de texto
https://github.com/ShortEmperor/Spotify-Playlist-ToText

chicos los invito a ver mi codigo en git hub, hice que se guardaran los datos en formato csv(pandas) para que se puediese guardar en una base de datos 😃

https://github.com/antoine1238/WS-News.git

Facundo! Que gran curso! Tomé el consejo de unos compañeros de tomar este curso antes de los otros de Web Scraping y ahora creo que puedo hacerlos mucho más rápido y comprender mejor todo. Muchas gracias!

Uno de los mejores cursos que he tomado. Si hubiera comenzado con este cursos habría tenido las bases para los demás y no me habría quedado estancado. El profesor es de los mejores de Platzi! un Crack!

Excelente profesor! … ojalá nos siga compartiendo todo ese conocimiento aquí en Platzi ❤️ ❤️ ❤️

En general fue un buen curso. Vengo de tomar los cursos de ingenieria de datos y de web scrapping y definitivamente creo que este quedaria mejor como inicio en el path de Data Engineer.

excelente curso, uno de los mejores de platzi

CONCLUSIONES

Scraping: Extraer información de la web de manera autómatica

Ventajas
No dependo de una API
No tengo limitaciones de ningun tipo en el tiempo de extraer información (write limit) y en que
información puedo extraer

Desventajas
Siempre vamos a depender de la estructura XML de la pagina y esto lo vimos evidenciado
para cuando se extrajeron las primeras expresiones a la fecha

Proceso:

  1. URL : tener una URL semila
  2. Request : Realizar los requerimiento a esta URL
  3. Response: Obtengo una respuesta de esta URL en formato XML que es la que vamos a
    parsear, es decir a obtener mis items
  4. Populate Items : obtener la información que deseo de la respuesta
  5. More URLs : a partir de la URL semilla ir a más URLs y de estas URLs repito el proceso

Hacer scraping implica responsabilidad:

Dar crédito de donde obtuve la data
No publicar nada sin estar seguro de que es legal
No sobrecargar sitios
Y recuerda: Nunca es anónimo al hacer scraping

Alto capo Facundo

Excelente curso

Que buen curso

Muchas gracias por el curso, muy recomendable!

Buen curso

¡¡De los mejores cursos!!

Curso maravilloso. Lo he devorado en un dia, mañana pienso aplicarlo en Linkedin y extraer datos para hacer estadisticas de trabajo!!
Increible los cursos de Facundo!

Me ha encandado este curso, muy bueno

Increíble todo el contenido de este curso, es pragmático y muy claro, el mejor que he tomado hasta el momento.

Una clase muyyyyy buena, muy bien explicada, me encantó mucho.
­
Lo único ““negativo”” (Que realmente no lo es, yo aprendí bastante por ello) es que algunas librerías parece que han cambiado conforme ha pasado el tiempo, entonces hay algunos líos con la forma de escribir el código y sobretodo las expresión xpath.
­
También es verdad que la página Larepublica ha cambiado un poco, pero la idea es que uno como estudiante haga el Xpath sin necesidad que el profesor lo haga.

Notas de y codigo del scraper my repo en github

Realmente Facundo la rompió con el curso sin duda uno de los mejores que he tomado

Estupendo curso, instructor y contenido para comprender esta herramienta a utilizar en Python.

Eticamente, se puede scrapear una web donde carece del archivo robots.txt?

Hola, tengo una pregunta algo aparte del curso
Estoy trabajando con lo que aprendí aquí y me encargaron scrapear una web que tiene casi un millón de páginas, ya logre hacer el script pero el problema es que tarda mucho, entonces mi pregunta es:
¿Existe alguna forma de subir mi código a una nube y dejarlo ejecutandoce ahí? y de ser así, ¿me pueden ayudar con ello?
Muchas gracias por leer.

Denle una cerveza a este hombre 🍺 , de entre este curso y los de bases de datos fijo sale algún proyecto, un crack!

Muy bueno el curso Facundo 10/10.

Sin duda uno de los mejores cursos de la plataforma, todo muy bien explicado, llevándonos de la mano para poder aprender, se lucieron. ❤️

Excelente curso!

Bien verraco este wey la verdad. Enhorabuena Facundo, eres un fenómeno!!

Super, que gran curso.

Gracias Facundo

Excelente curso.

Encantado con este curso, sos un crack !!!

este es el curso n°20 y algo y este profesor es excelente, ahora mismo me doy un salto por el curso de scrappy

Excelente curso. Contando los días para el próximo curso.

Best curso

Excelente profe, explica en detalle cada función, y aun en el siguiente video lo vuelve a explicar, eso es nivel pedagógico.

Muchas gracias Facundo!, en el curso se nota la preparacion y el interes en dar un curso de calidad, enfocado en el aprendizaje del alumno, quedo muy agradecido por todos los conocimientos que compartiste con nostros, Felicitaciones!

Grande Facu! Me gusto muchísimo el curso 😄

Un curso increíble, por un profesor aún mejor 😄

Muy bueno el curso. Lo disfruté bastante. Tenía medio abandonado a mi buen amigo python. Se me complicó un poquito crear las mejores rutas posibles del xpath ya que a veces, por alguna razón, no me regresaba nada el programa.

Que gran curso, muy buen maestro, cualquier apoyo en el curso puede hablarme sin problemas!

acá alcé el proyecto :v bonito curso la verdad

La parte de Python un poco duro de seguir

Excelente curso
Como siempre, Facundo de lo mejor como Instructor
Muchas Gracias Facundo y espero que continúes haciendo más cursos

Exelente el curso y el profesor, muchas gracias 😃

Las bases fundamentales del webscraping y porqué es importante en la actualdiad.
y porqué esta herramienta es útil conocerla y saberla usar como un backend o un data Scientist
El web scraping es uan actividad que se puede hacer en diferentes lenguajes de programación, y con distintas herramientas automatizables, ya sea desde código hasta pluggins de chrome.
Revisar el robots.txt para saber siempre lo que está restringido por el usuario administrador, y así
no incurrir en problemas legales.
Revisar legalidad sobre extracción de datos del país donde pretendo realizar webscraping
Xpath Lenguage como un generador de patrones de búsqueda en un árbol del DOM. Es decir, un apuntador a un XML.
“Xpath es a HTML como REGEX es a un documento de texto. Facundo Nicolás García Martoni”
La variabilidad de las expresiones Xpath varían en función del recorrido que se tome en el HTML,
en el sitio web como tal y sus desarrolladores, así como las visicitudes del tiempo.
HTTP es un protocolo de comunicación para la transferencia de información. Así habla el cliente y el servidor.
HTTP es un paquete que lleva consigo HTML, CSS, Js, Web APIs. Y el servidor da una respuesta numérica en un intervalo de (100-500) que son respuestas a sucesos con el servidor.
Van desde la abnegación de información a la satisfación de la solicitud.
Preparar el ambiente de trabajo apropiado en python es crucial, y lo aprendimos en diferentes OS, sobre Cmder en Windows
y sobre las buenas prácticas de los ambientes virtuales.
Aprendimos las librerías Request, Lxml, Os, datetime, autopep8
Sobre manejo de errores, creación de archivos y carpetas en función de Noticias scrapeadas.
Utilizamos manejadores contextuales y desarrollamos un scraper robusto que colecta noticias del diario Colombiano “la republica”

⭐️⭐️⭐️ ETICA ⭐️⭐️⭐️

Muy bien explicado todo el curso. Felicidades Facundo!

Excelente curso y excelente profesor.
Cursos en donde obtenemos práctica funcional y puedes ver traducido de inmediato que es lo que has aprendido son de los que mas valoro.
Y Facundo, por mucho, es uno de los mejores profesores en la plataforma de Platzi.

Agradecido por esto 😃

Profe, es un crack usted, la forma de explicar es espléndida, todo estuvo demasiado claro, no hubo lugar a dudas, apliqué mis propios xpath porque la página cambió de estructura y siguió funcionando todo. Es usted un grande.

Gracias por toda esa cantidad de información :3

chevere todo pero no todas las paginas sirven para hacerle el scraping de igual forma, he hecho scraping con nodejs y con este curso con python en numerosos sitios pero no funcionan en algunas, me parece que faltó aclarar algo más del side rendering

Buen curso, estuvo cool !!

Para evitar problemas uso un VPN & no me banen en mi IP original.

Que buen curso, felicitaciones a Facundo por su gran didáctica.

Saludos a todos.

Revisar el robots.txt para saber siempre lo que está restringido por el usuario administrador, y así
no incurrir en problemas legales.
Revisar legalidad sobre extracción de datos del país donde pretendo realizar webscraping

Wow Facundo que tema más complicado para mí y lo volviste accesiblee! que grande que tremento no sé como agradecerte, supongo que siguiendo la ruta!

https://data-ox.com/web-scraping-legality/#section3
https://benbernardblog.com/web-scraping-and-crawling-are-perfectly-legal-right/
https://scrapediary.com/is-web-scraping-legal/
Por cierto, encontré estos recursos si alguien quiere profundizar en el tema de qué tan legal es hacer Web Scraping.
Pero lo que dice el profe es lo esencial: Revisar TyC y Robots.txt

exijo la opción de ponerle 10 estrellas a este curso. y a Facundo-sensei

Gran curso, maestro Facundo: no hay palabras para describir sus capacidades didácticas y claridad al enseñar.
Ojalá dé más cursos en Platzi.
Gracia usted y a los compañeros por compartir sus conocimientos.

excelente

Me gustó mucho que el profe Facundo explicaba de forma sencilla y precisa. Los videos fueron cortos y los temas bien explicados, ideal para nosotros los nuevos en este tema.

Que buen curso!
Muy buen profesor Facundo.

¡De los mejores cursos que he tomado!

import requests
import lxml.html as html
import os
import datetime

HOME_URL = 'https://www.larepublica.co/'

XPATH_LINK_TO_ARTICLE = '//h2[@class="headline"]/a/@href'
XPATH_TITLE = '//h1[@class="headline"]/a/text()'
XPATH_SUMMARY = '//div[@class="lead"]/p/text()'
XPATH_BODY = '//div[@class="articleWrapper  "]/p[not(@class)]/text()'


def parse_notice(link, today):
    try:
        response = requests.get(link)
        if response.status_code == 200:
            notice = response.content.decode('utf-8')
            parsed = html.fromstring(notice)

            try:
                title = parsed.xpath(XPATH_TITLE)[0]
                title = title.replace('\"', '')
                summary = parsed.xpath(XPATH_SUMMARY)[0]
                body = parsed.xpath(XPATH_BODY)
            except IndexError:
                return

            with open(f'{today}/{title}.txt', 'w', encoding='utf-8') as f:
                f.write(title)
                f.write('\n\n')
                f.write(summary)
                f.write('\n\n')
                for p in body:
                    f.write(p)
                    f.write('\n')
        else:
            raise ValueError(f'Error: {response.status_code}')
    except ValueError as ve:
        print(ve)


def parse_home():
    try:
        response = requests.get(HOME_URL)
        if response.status_code == 200:
            home = response.content.decode('utf-8')
            parsed = html.fromstring(home)
            links_to_notices = parsed.xpath(XPATH_LINK_TO_ARTICLE)
            # print(links_to_notices)

            today = datetime.date.today().strftime('%d-%m-%Y')
            if not os.path.isdir(today):
                os.mkdir(today)

            for link in links_to_notices:
                parse_notice(link, today)
        else:
            raise ValueError(f'Error: {response.status_code}')
    except ValueError as ve:
        print(ve)


def run():
    parse_home()


if __name__ == '__main__':
    run()```

Excelente curso y un grosso el profesor!

Hola!
Corrigiendo algunas cosas gracias a los aportes finalmente salió.
Todavía no entiendo 100% el funcionamiento, ahora me toca investigar.
Les comparto el resultado:

Me imagino a este crack enseñando un curso de Ethical hacking con Python y Khali Linux.
Ese seria el nivel Platino

Facundo eres un crack!!!