CursosEmpresasBlogLiveConfPrecios

Un proyecto para tu portafolio: scraper de noticias

Clase 17 de 21 • Curso de Fundamentos de Web Scraping con Python y Xpath

Clase anteriorSiguiente clase

Contenido del curso

Introducción al web scraping

  • 1
    ¿Qué es el web scraping?

    ¿Qué es el web scraping?

    02:06 min
  • 2
    ¿Por qué aprender web scraping hoy?

    ¿Por qué aprender web scraping hoy?

    03:05 min
  • 3
    Python: el lenguaje más poderoso para extraer datos

    Python: el lenguaje más poderoso para extraer datos

    03:21 min

Fundamentos de la web

  • 4
    Entender HTTP

    Entender HTTP

    07:02 min
  • 5
    ¿Qué es HTML?

    ¿Qué es HTML?

    08:08 min
  • 6
    Robots.txt: permisos y consideraciones al hacer web scraping

    Robots.txt: permisos y consideraciones al hacer web scraping

    05:41 min

XML Path Language

  • 7
    XML Path Language

    XML Path Language

    03:35 min
  • 8
    Tipos de nodos en XPath

    Tipos de nodos en XPath

    05:18 min
  • 9
    Expresiones en XPath

    Expresiones en XPath

    08:18 min
  • 10
    Predicados en Xpath

    Predicados en Xpath

    05:34 min
  • 11
    Operadores en Xpath

    Operadores en Xpath

    05:51 min
  • 12
    Wildcards en Xpath

    Wildcards en Xpath

    06:11 min
  • 13
    In-text search en Xpath

    In-text search en Xpath

    08:21 min
  • 14
    XPath Axes

    XPath Axes

    05:16 min
  • 15

    Resumen de XPath

    00:01 min
  • 16
    Aplicando lo aprendido

    Aplicando lo aprendido

    08:52 min

Proyecto: scraper de noticias

  • 17
    Un proyecto para tu portafolio: scraper de noticias

    Un proyecto para tu portafolio: scraper de noticias

    Viendo ahora
  • 18
    Construcción de las expresiones de XPath

    Construcción de las expresiones de XPath

    10:29 min
  • 19
    Obteniendo los links de los artículos con Python

    Obteniendo los links de los artículos con Python

    10:56 min
  • 20
    Guardando las noticias en archivos de texto

    Guardando las noticias en archivos de texto

    14:53 min

Conclusiones

  • 21
    Cómo continuar tu ruta de aprendizaje

    Cómo continuar tu ruta de aprendizaje

    02:13 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Juan Felipe Ángel Martínez Bernal

        Juan Felipe Ángel Martínez Bernal

        student•
        hace 6 años

        61 cursos en Platzi y esta es la primera vez que veo que un profesor se sienta a explicar detenidamente y en cada sistema operativo como crear un proyecto de manera profesional. Facundo eres un grande 👏👏👏

          Ricardo Sotomayor

          Ricardo Sotomayor

          student•
          hace 5 años

          x 2 el profe FACUNDO ES UNO DE LOS POCO PROFESORES QUE EXPLICA LAS COSAS DE UNA MANERA COMPRENSIBLE

          Alvaro  Daniel Vidal Velasque

          Alvaro Daniel Vidal Velasque

          student•
          hace 5 años

          Concuerdo muchísimo contigo, hasta ahora ningún profe como Facu

        Alejandro Giraldo Londoño

        Alejandro Giraldo Londoño

        student•
        hace 6 años

        RESUMEN:Proyecto scraper de noticias

        ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ Este proyecto es un scraper de noticias del diario la_Republica Vamos a extraer de este periodico, encabezados y cuerpo de las noticias diariamente y almancenarlos para un posterior análisis. Como análisis de Texto, marketing, análisis de sentimientos y demás.


        Notas :

        • Observar https://www.larepublica.co/robots.txt para tener claro a qué podemos o no acceder con nuestro scraper

        Entorno de trabajo.

        • Es necesario tener buenas prácticas para desarrollar, en python como todo lenguaje tiene sus propias. A continuación la configuración de este proyecto.

        (Window)

        Es posible realizar estas acciones desde cualquier otro shell. En este curso se usa Cmder. cmder es un emulador de bash, a partir de los comandos nativos de windows generamos una "aliases" que tratan de igualar los comandos que tenemos en consola de tipo UNIX. En windows podríamos usar comandos más habituales para programar.

        Pasos

        0 ■ Inicializamos git en el directorio de trabajo

        git init

        1 ■ Creamos nuestro ambiente virtual:

        py -m venv venv (Windows) python (linux) ...

        2 ■ Creamos en el directorio de trabajo o carpeta un archivo .gitignore y escribimos que ignore la carpeta del ambiente virtual. No queremos ocupar espacio innecesario y no es buena práctica.

        (.gitignore) venv/ (nombre de la carpeta que vamos a ignorar)/

        3 ■ Para activar el ambiente virtual realizamos

        ven\Scripts\activate (Windows) source venv/bin/activate (Linux)

        4 ■ Si trabajas en VsCode. Creamos un Workspace para tener una estructura más organizada "save as workspace" y así tener un workspace para que VS tenga idea de qué tenemos en esta capeta.

        5 ■ Instalamos las dependencias de este proyecto:

        1. Request: Para realizar peticiones
        2. Lxml: Para utilizar Xpath
        3. Autopep8: Ayuda a formatear el código según los estilos oficiales dle lenguaej,e
        pip install request lxml autopep8

        Es buena práctica tener actualizado el manejador de paquetes de python.

        py - m pip install pip --upragade
          María Cristina Chuchón Pérez

          María Cristina Chuchón Pérez

          student•
          hace 5 años

          gracias por los apuntes!!

          Denisse Falcon

          Denisse Falcon

          student•
          hace 5 años

          gracias me ayudaron muchos tus apuntes

        Bryan Javier Calero Robleto

        Bryan Javier Calero Robleto

        student•
        hace 6 años

        Excelente, el profe explica como hacerle en todos los sistemas operativos. Muchas gracias. De los mejores profesores.

          Rubén Domínguez Prieto

          Rubén Domínguez Prieto

          student•
          hace 6 años

          Estoy de acuerdo. Hasta tal punto, que en vez de rutas busco profesores :)

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Sí, también Anahí Salgado es super cool.

        Mario Barbosa

        Mario Barbosa

        student•
        hace 6 años

        Los mismos códigos , para evitar la fatiga

        pip install request lxml autopep8
        py -m pip install pip --upgrade

        Si usan bash como terminal para activar el ambiente virtual

        source venv/Scripts/activate
          Alan Cordova

          Alan Cordova

          student•
          hace 6 años

          Nada mas una pequeña correción, falto una s en requests

          pip install requests lxml autopep8
          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Okey (:

        Raziel Carvajal

        Raziel Carvajal

        student•
        hace 6 años

        Nota es 'requests' con 's' al final

          Raquel Campos

          Raquel Campos

          student•
          hace 5 años

          Muchas gracias!

          pip install requests lxml autopep8
          jhon velasque

          jhon velasque

          student•
          hace 3 años

          gracias hermano me salvaste la vida

        Omar Garrido García

        Omar Garrido García

        student•
        hace 6 años

        Esto también lo pueden hacer en la terminal del mismo Visual Studio, solo que al momento de ejecutar la activación el comando cambia, lo de más se mantiene igual.

        borrar.PNG
        Josue Farley Lopez Carvajal

        Josue Farley Lopez Carvajal

        student•
        hace 4 años

        Una recomendación que uso mucho es crear un archivo requirements.txt en el root del proyecto. Allí escribo los nombres de los paquetes a instalar con pip. Luego ejecutar el comando:

        $ pip install -r requirements.txt

        Luego de instalar refresco el archivo con la lista de los paquetes instalados y sus versiones así:

        $ pip freeze > requirements.txt

        Esto permite que, si suben sus repositorios a GitHub las personas que lo clonen sepan que paquetes instalar y en la version que ustedes los usaron.

        José Antonio Sandino Montano

        José Antonio Sandino Montano

        student•
        hace 5 años

        ¿Qué tengo que buscar en los términos y condiciones exactamente para saber si se puede o no hacer scraping?

          Alex Camacho

          Alex Camacho

          teacher•
          hace 5 años

          Es lo más recomendable :) así evitas meterte en problemas ya que en algunos sitios no esta permitido realizar este tipo de prácticas.

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Tienes que ver que puedas extraer la información, es más fácil /robots.txt

        Fabián Vega Alcota

        Fabián Vega Alcota

        student•
        hace 5 años

        Tuve algunos problemas activando el virtual enviroment en Ubuntu por lo que aquí les dejo lo que me ayudo a solucionarlo link Aunque lo que necesite fue solo estos comandos: Esto crea el entorno virtual e instala python3

        virtualenv -p /usr/bin/python3 venv

        Luego se ejecuta el archivo activate (Asegurate de estar ya en la carpeta del proyecto)

        source venv/bin/activate
          Héctor Soto  Huamaní

          Héctor Soto Huamaní

          student•
          hace 5 años

          Gracias crack!

          Tomás Lautaro Elizondo

          Tomás Lautaro Elizondo

          student•
          hace 4 años

          Gracias !!

        Francisco Garcia [C6]

        Francisco Garcia [C6]

        student•
        hace 5 años

        Tengo Ubuntu 20.04.1 LTS, y tuve algunos problemas en la instalación, lo solucione de la siguiente forma: Instalando por separado y en esta secuencia

        sudo apt-get update sudo apt-get install python3-pip sudo pip3 install requests sudo pip3 install lxml sudo pip3 install autopep8
          dalai aguirre jimenez

          dalai aguirre jimenez

          student•
          hace 5 años

          no es recomendable utilizar sudo para instalar paquetes de pip3

          Francisco Garcia [C6]

          Francisco Garcia [C6]

          student•
          hace 5 años

          Ok, gracias

        Carlos Andres Ocampo Pabon

        Carlos Andres Ocampo Pabon

        student•
        hace 5 años

        No hay problema si se les llega a cerrar Visual Studio o se les apaga el computador ya el entorno virtual ya queda con los paquetes instalados. Lo único que deben hacer es volver a activar el ambiente virtual con el comando ".\venv\Scripts\activate" por ejemplo si están en windows. Además si desean saber qué paquetes tienen instalados en su entorno virtual solo basta con escribir el comando:

        pip freeze
        Angello Villanueva Menichetti

        Angello Villanueva Menichetti

        student•
        hace 6 años

        Aquí algunas recomendaciones para los que usan Ubuntu o tienen problemas: Siempre antes de instalar algo usar:

        sudo apt-get update

        Algunos deberan instalar pip pero si lo hacen y les sale un error de distutils usen:

        sudo apt-get install python3-distutils

        Luego instalen el get-pip.py Una vez instalado deberan instalar lo necesario para generar entornos virtuales y pueden usar el siguiente comando:

        sudo apt-get install python3-venv

        Y por ultimo algo que todos pueden usar. En ubuntu puedes crear archivos desde la terminal y abrirlos directamente en VSCode:

        $ code .gitignore
        Jeancarlo

        Jeancarlo

        student•
        hace 5 años

        facundo sos crack

        rusbel bermúdez rivera

        rusbel bermúdez rivera

        student•
        hace 6 años

        Hola les dejo mis notas del curso

        https://github.com/rb-one/curso-webscrapping-con-xpath-/blob/master/Notes/notes.md

        Mario Alberto García Meza

        Mario Alberto García Meza

        teacher•
        hace 5 años

        Cuando se hace update de pip dentro del entorno virtual sólo aplica para el mismo, cierto? tendría que hacer update en el entorno global para tener pip actualizado en general?

          Alex Camacho

          Alex Camacho

          teacher•
          hace 5 años

          Sí, para actualizar de forma global tiene que ser fuera del entorno virtual.

          Moisés Manuel Morín Hevia

          Moisés Manuel Morín Hevia

          student•
          hace 5 años

          Totalmente, solo sería de forma virtual.

        Giuseppe Vitale

        Giuseppe Vitale

        student•
        hace 3 años

        Quien esta utilizando, como en mi caso, la terminal de git bash en windows 10, tendra' que:

        crear entorno virtual

        winpty python -m venv venv

        activar venv

        . venv/Scripts/activate

        Jose Luis Flores Rojas

        Jose Luis Flores Rojas

        student•
        hace 5 años

        tambien se puede hacer con anaconda

        Gustavo Medina

        Gustavo Medina

        student•
        hace 5 años

        Me gusta como Facundo explica cada clase. Se entiende a la perfeccion. Gracias

        Francisco Javier Suarez Verdugo

        Francisco Javier Suarez Verdugo

        student•
        hace 5 años

        Estupenda explicación paso a paso durante la creación del entorno adecuado de nuestro proyecto instructor Facundo, me agrado que nos indicaras el porqué de cada comando para poder comprender mejor el funcionamiento que tienen e incluso resaltaste la importancia de tener pip actualizado y como hacerlo.

        Jose Reinaldo Roca Cruz

        Jose Reinaldo Roca Cruz

        student•
        hace 6 años

        Soy nuevo en Visual Studio que extensiones me recomiendan??

          Alan Vazquez

          Alan Vazquez

          student•
          hace 6 años

          Depende de para que lo vayas ha usar mayormente, pero de uso general independientemente del lenguaje y todo eso yo te remcomendaria:

          • .gitignore Generator
          • Ayu
          • Bracket Pair Colorizer 2
          • Git History
          • GitLens
          • ident-rainbow
          • markdownlint
          • Material Icon Theme
          • Path Intellisense
          • Prettier - Code formatter
          • Project Manager
          • Rainbow CSV
          • Settings Sync
          • Visual Studio ItelliCode

          Seria de que las revisaras y checaras cuales te interesan

          Jose Reinaldo Roca Cruz

          Jose Reinaldo Roca Cruz

          student•
          hace 6 años

          @AlanVazquez realmente muchas gracias,las revisare para añadirlas.