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
  • 2
    ¿Por qué aprender web scraping hoy?

    ¿Por qué aprender web scraping hoy?

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

    Python: el lenguaje más poderoso para extraer datos

    03:21
Fundamentos de la web
  • 4
    Entender HTTP

    Entender HTTP

    07:02
  • 5
    ¿Qué es HTML?

    ¿Qué es HTML?

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

    Robots.txt: permisos y consideraciones al hacer web scraping

    05:41
XML Path Language
  • 7
    XML Path Language

    XML Path Language

    03:35
  • 8
    Tipos de nodos en XPath

    Tipos de nodos en XPath

    05:18
  • 9
    Expresiones en XPath

    Expresiones en XPath

    08:18
  • 10
    Predicados en Xpath

    Predicados en Xpath

    05:34
  • 11
    Operadores en Xpath

    Operadores en Xpath

    05:51
  • 12
    Wildcards en Xpath

    Wildcards en Xpath

    06:11
  • 13
    In-text search en Xpath

    In-text search en Xpath

    08:21
  • 14
    XPath Axes

    XPath Axes

    05:16
  • 15

    Resumen de XPath

    00:01
  • 16
    Aplicando lo aprendido

    Aplicando lo aprendido

    08:52
Proyecto: scraper de noticias
  • 17
    Un proyecto para tu portafolio: scraper de noticias

    Un proyecto para tu portafolio: scraper de noticias

    10:08
  • 18
    Construcción de las expresiones de XPath

    Construcción de las expresiones de XPath

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

    Obteniendo los links de los artículos con Python

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

    Guardando las noticias en archivos de texto

    14:53
Conclusiones
  • 21
    Cómo continuar tu ruta de aprendizaje

    Cómo continuar tu ruta de aprendizaje

    02:13
    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 5 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 5 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 3 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 5 años

    Soy nuevo en Visual Studio que extensiones me recomiendan??

      Alan Vazquez

      Alan Vazquez

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