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 el examen del curso
    • Juan Felipe Ángel Martínez Bernal

      Juan Felipe Ángel Martínez Bernal

      student•
      hace 5 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 5 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 5 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 5 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 5 años

      Nota es 'requests' con 's' al final

        Raquel Campos

        Raquel Campos

        student•
        hace 4 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 5 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 4 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 5 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 5 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.

    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