Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Descargando una página web

4/30
Recursos

Aportes 92

Preguntas 17

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para todos los que nos agarró desprevenidos el inicio de este video les doy una serie de pasos para llegar a donde se encuentra el profe y que puedan empezar a trabajar:

  1. Ya que instalaste anaconda te va a salir una ventana como esta:

![](

  1. Seleccionas el cuadro que dice Jupyter notebook (el segundo de arriba) y haces clic en launch.

  2. Te va a abrir una pantalla en el navegador como esta:

![](

  1. Haces clic en el botón New del lado superior derecho y seleccionas Python3

  2. Esa es la misma pantalla que la del profe, para correr el comando puedes posicionarte en el y apretar el botón Run o en Mac apretar option + enter para correrlo y de esta manera se correrá uno a uno los comandos que vayas escribiendo, en el video no se ve porque seguramente usa el shortcode desde el teclado, con esto ya pueden continuar.

Espero que sea útil!

Muy mal que no se ensene como instalar el ambiente de manera correcta.

En mi caso uso linux y los pasos para continuar con este curso son los siguientes, desde la consola:

  1. Crear un folder con el nombre del proyecto: mkdir webscraping_platzi

  2. ingresar carpeta del proyecto y crear un entorno virtual: python3 -m venv entv

  3. Activar el entorno virtual: source entv/bin/activate

  4. Instalar jupyter notebook (no hace falta instalar toda la suite Anaconda) : python3 pip install jupyter

  5. Instalar requests: pip install requests

  6. Instalar Beautiful Soup: pip install beautifulsoup4

  7. Verificar que todo se instalo utilizando el comando pip freeze.

Abrir Anaconda Prompt y escribir en el terminal:
conda install -c anaconda requests
conda install -c anaconda beautifulsoup4

A esta clase le falta una pequeña introducción el entorno anaconda y jupyter notebook, los estudiantes no pueden replicar lo realizado por el profesor porque ya lo tiene todo preparado, pero las librerias requests hay que instalarla y no se explica en el curso como hacerlo en anaconda .

No es necesario descargar Anaconda, ahora hay herramientas igual de utilices que nos brindan la herramienta de Notebook para trabajar con python, comparto algunas.

google colab : https://colab.research.google.com/notebooks/intro.ipynb
Visual Code : https://code.visualstudio.com/docs/python/data-science-tutorial

Hola a todos, para seguir con el curso no me he descargado Anaconda, solo Jupyter Notebook y las librerías. Realmente me gusta tener mayor control sobre lo que instaló así que he usado pip para todo. A continuación detallo los pasos:

Asumiendo que ya tienen python 3 instalado:

  • Inicialmente dentro de un folder vacio para el curso creo un entorno virtual para evitar conflictos con dependencias instaladas anteriormente en mi computador: python3 -m venv nombre-entorno-virtual

  • Activo el entorno virtual con: source nombre-entorno-virtual/bin/activate

  • Después de tener el entorno activo instalamos Jupyter: python3 -m pip install jupyter

  • Instalamos las dos librerías solicitadas en la clase: pip install requests y pip install beautifulsoup4

  • Finalmente si quieren ver las librerías instaladas en su entorno pueden ejecutar el comando: pip freeze

  • Ejecutamos Jupyter con el comando: jupyter notebook

Con eso he quedado listo para seguir la clase. Realmente les recomiendo mucho lo del entorno virtual, no es nada complejo. Si tienen conocimientos de python ya deberían conocerlo y en caso de que no los invito a consultarlo.

Espero sea de ayuda. No se desanimen si el profesor no define paso por paso, es también deber del estudiante ir más allá.

Saludos y éxitos

Tuve que tomar el de ingeniería de datos en python para conocer de jupyter notebook y venir acá para aprender web scrapping… Los dos deberían estar fusionados… todo un rally.

Un tutorial básico y sencillo de entender para Jupyter:
https://www.adictosaltrabajo.com/2018/01/18/primeros-pasos-con-jupyter-notebook/

Les dejo esta y todas las anotaciones del curso actualizados al 2023, tome nota de los comentarios y ejercicios resueltos de cada sección. Lleve en cuenta las explicaciones del docente y más! Espero les sirva. 👌
Anotaciones y Ejercicios Curso de Web Scraping - Modulo II
(si quieres apoyar deja una estrella a la repo ✌⭐)

  • p12 = requests.get(url): realiza la solicitud.
  • p12.status_code: muestra el código de status HTTP de la respuesta.
  • print(p12.text): muestra el HTML de la página sin formatear.
  • p12.content: muestra el contenido de la respuesta, puede ser bytes, imágenes, audio.
  • p12.headers: muestra el encabezado de la respuesta.
  • p12.request.headers: muestra el encabezado de la solicitud. El contenido de esta request avisa al servidor que se está utilizando requests en python y que no es un navegador convencional. Puede ser modificado.
  • p12-request.url: muestra la url a la que se le hizo la solicitud.

➡️🍎Instalación del entorno para los que tengan Mac
 
Una vez que tengas instalado anaconda:
 

  1. Abrir la terminal y crear una carpeta con el nombre de tu proyecto:
mkdir nombre_proyecto
  1. Entrar en la carpeta del proyecto:
cd nombre_proyecto
  1. Configurar el entorno de trabajo. Aquí se instalaran las librerías necesarias para trabajar
conda create --prefix ./env requests beautifulsoup4 jupyter 
  1. Para ver los entornos que tienes en anaconda:
conda env list

Por defecto está en base.
Pero para poder utilizar las librerías que hemos instalado (requests, beautifulsoup4 y jupyter ) deberemos activar el entorno que acabamos de crear.
 

  1. Para activar el entorno:
conda activate /Users/tu_usuario/Documents/nombre_proyecto/env

conda activate y copias la ruta donde está tu proyecto.
Si vuelves a poner conda env list verás que ahora el asterisco(*) se encuentra en el entorno que quieres.
 

  1. Para utilizar jupyter escribir en la terminal:
jupyter notebook

Verás que se abre en el navegador la página de jupyter.
 
Y si ya terminaste de trabajar en ese entorno y quieres desactivarlo:

conda deactivate

En ubuntu se me complico la instalación, por lo que encontré este otro método que trabaja directo en Visual Studio Code!

Ciencia de datos en Visual Studio Code

Si no es por los comentarios, es imposible lograr lo que hace en clases!

Estoy un poco perdido no hay una buena metodología. No puedo continuar el curso. Es una lástima. tendré que ir a aprender Python

Un momento, entonces si la página bloquea una solicitud del user-agent: python-requests entonces eso es un mecanismo de seguridad.
¿No?

Para los que no conocen pagina12 no es un medio de noticias, es un medio de propaganda fascista de las mentiras del gobierno mentiroso y corrupto que tenemos, solo se dedican a alabar al gobierno y criticar a cualquiera que piense diferente, muy feo ejemplo eligieron

Muy nuevo esto para mi, voy a investigaar leer y seguir viendo el curso.

Para los que utilizan linux les recomiendo utilizar un contenedor docker para levantar a Jupyter notebook y lo publican en el puerto que quieran, utilicen la imagen:

docker pull jupyter/datascience-notebook

O un docker compose como el siguiente proyecto en Github:

https://github.com/jupyter/docker-stacks

Estoy un poco perdido. Cuando abre Jupyter Notebook ya lo tiene todo perfectamente configurado. Con una nueva instalación, esto no es asi, y por lo tanto debo crear un Notebook de python3 (supongo!). Hago lo que se indica para descargar la página y obtengo un error:

import requests
url = 'https://www.pagina12.com.ar/'
p12 = requests.get(url)

NameError Traceback (most recent call last)
<ipython-input-1-1e4c857cb8fa> in <module>
----> 1 p12 = requests.get(url)

NameError: name ‘requests’ is not defined


La verdad que tengo bastantes dudas con el manejo de Jupyter Notebook, que la clase no me está resolviendo. A ver si me podéis echar una mano 😃

Activar el entorno virtual: source entv/bin/activate

Instalar jupyter notebook (no hace falta instalar toda la suite Anaconda) : python3 pip install jupyter

Instalar requests: pip install requests

Instalar Beautiful Soup: pip install beautifulsoup4

un tip:

Suele demorar mucho abrir el anaconda navigator. Para evitar esa demora, si desde la terminal, ejecutan el comando jupyter notebook, les abre en google chrome el finder de jupyter.

Decidí no instalar nada…
Voy a trabajar en Collab…
Al final del curso, voy a subir el tutorial.

Pueden usar Google Colab para las notebooks.

https://colab.research.google.com/

pueden abrir jupyter notebooks desde su terminal:
vayan a su carpeta donde guardarán sus archivos y luego en su terminal typean:

jupyter notebook

y se les abrirá

HOLA A TODOS. AGRADEZCO ME DIGAN COMO PUEDO GUARDAR SOLO LAS LINEAS DE CODIGO QUE SE EJECUTARON BIEN (OMITIR AQUELLAS LAS CUALES POR ERROR EN DIGITACION NO CORRIERON BIEN) MUCHAS GRACIAS!!!

Si le abre jupyter en el navegador en W solo es ir a new python 3 y seguir los pasos del vídeo

Que curso tan malo sinceramente

Tambien tengan en cuenta, que se puede instalar las librerias en el mismo Jupyter:

!pip install requests
!pip install bs4

y asi podrian seguir

Estoy utilizando Google colaboratory y puedo hacer los pasos sin problema.

Para los que quieren trabajar desde su Google Drive pueden utilizar Google Colaboratory, un entorno virtual similar a Jupyter

import requests  #Importa la librería

url = 'https://www.pagina12.com.ar/'
p12 = requests.get(url)

p12.status_code     #Devuelve el status code de la web if 200 ok.

print(p12.text)     #Imprime el texto de la página (a veces no requerimos texto)

p12.content         #Devuelve el contenido en bytes

p12.headers         #Devuelve los headers

p12.request.headers #Devuelve los headers del request, aquí vemos que python hace peticiones, más adelante aprenderemos a ocultarlo.

p12.request.method  #Devuelve el método de request (get en este caso)

p12.request.url     #Devuelve la url a la que se le hace petición. Es útil cuando hay redirecciones

Les recomiendo leer más sobre la librería requests dando click aquí.

interesante

Vengo del futuro a dejarles unos atajos con el teclado para que ahorren tiempo
Tecla windows + enter = ejecutas la linea de codigo
Tecla windows + shift = creas una nueva linea para escribir
Recuerden que si no ejecutan el código de arriba, y abajo están necesitando algún resultado de esta, les va a dar error
Saludos

si estas trabajando desde Ubuntu, es super fácil instalar jupyter. Yo la verdad prefiero lab sobre notebook entonces después de instalar anaconda, puedes correr desde la terminal:

conda install -c conda-forge jupyterlab

y con eso será suficiente, luego puedes abrir jupyter lab o notebook desde la terminal invocándolos con jupyter lab jupyter notebook

Traté de seguir el curso usando sublime text y practicamente cada vez que trato de compilar el programa crashea. Hace tiempo uso sublime sin problemas. El modulo request tiene algo especial por lo que solo funciona usando jupyter?

No entiendo casi como usar Jupyter estoy super perdido

Comandos utilizados en la clase

import requests
url = '[https://www.pagina12.com.ar/](https://www.pagina12.com.ar/)'
p12 = requests.get(url)

Validamos la conexión

p12.status_code
200

Podemos imprimir la página en texto plano

print (p12.text)

En ocaciones las descargas no son solo texto, sino que pueden ser imágenes o videos en ese caso podemos usar el atributo content

p12.content

Toda respuesta tiene encabezados que en ocaciones puede ser util

p12.headers

Las solicitudes también tiene respuestas

p12.request.headers

También podemos ver el métodos que estamos usando en este caso GET

p12.request.method

Podemos validar la url que estamos accediendo con

p12.request.url

Gracias AryRosvall, excelente tu explicación , me permiti+o avanzar rápidamente.

conda create -n platzi_scraping
conda activate platzi_scraping
conda install requests
conda install beautifulsup4
conda install jupyterlab
python -m ipykernel install --user --name platzi_scraping --display-name platzi_scraping
jupyter kernelspec list
jupyter notebook

Me estoy decepcionando un poco 😕

Para los que no pudieron importar el BeatifulSoap:

Abren el anaconda Prompt:
conda create -n scraping python=3.7
scraping activate
pip install requests
install beatifulsoup4
pip freeze

estimado profesor : como instalo jupiter : entiendo que es un ide para interartuar con python

¿Hay alguna forma de hacer el request para páginas que arrojan la respuesta de HTTP 403, es decir, forbidden? ¿o de plano no se puede hacer sin los permisos?

Genial

cual es la finalidad del ejemplo que esta haciendo el profesor?

Hola a todos. En elsiguiente enlace encontrarán un artículo relativo a los shortcuts del Jupyter Notebook. pienso que les podría ser de utilidad.

https://towardsdatascience.com/jypyter-notebook-shortcuts-bf0101a98330

hago este curso para complementar mis conocimientos de seguridad informatica

Jupyter Notebook

jupyter notebook

-> abrir jupyter notebook (antes deben tenerla instalada)

Comandos

b -> Insertar celdas
j,k -> Moverse entre celdas
m ->Convertir celda en texto
p ->Desplegar comandos y shortcuts
x,v ->Cortar y pegar celdas
dd ->Eliminar celda
control + enter ->Ejecutar celda
shift + enter ->Ejecutar celda y crear una nueva abajo

Muy bien explicado. Encantado con el curso.

Me pasa lo mismo que el comentario de abajo. Tengo istalado jupyter pero no se ve igual que en el ejemplo. ¿Me salte un paso?

Les recomiendo complementar este curso con el de ingeniería de datos con Python

La explicación del profesor no fue ¡clara para llegar al entorno de trabajo.

como configuras para poder tener la barra al lado de deslizamiento, a mi me toca bajar mucho para poder seguir escribiendo el codigo

Es lo mismo que se obtiene con inspector de los navegadores?

En la sección de Archivos y Enlaces, hay un boto de descarga pero lo único que hace es descargar un HTML de la misma pagina donde se esta tomando el vídeo.

A lo que realmente quiero acceder es a la explicación de las librerías requests y bs4. Que como se menciona en el vídeo, la explicación estará como adjunto?.

Como se escribe Texto en Jupyer, asi estilo word ?? como el profesor escribio el Titulo Modulo 2: HTML ecc ??

Ok, para poder trabajar con anaconda y jupyter les recomiendo ir a ver la clase que les dejo en el link y la siguiente -> https://platzi.com/clases/1385-ingenieria-datos/14256-configuracion-del-ambiente/

Si acaso al crear su env no les funciona jupyter, simplemente deben instalarlo -> pip install jupyter.

Super, esta muy interesante.

Les recomiendo usar el jupyter notebook en vscode.

https://www.youtube.com/watch?v=_C0vbLV6WdA

Y utilizan como interprete de python conda.

Para los que no se sientan familiarizados con jupyter notebook les dejo el siguiente enlace de platzi, donde encontrarán algunos atajos de teclado.
https://platzi.com/tutoriales/1385-ingenieria-datos/5979-atajos-de-teclado-para-jupyter-notebooks/

La página de donde se sacó la información es la siguiente:
https://cheatography.com/jorgejuan007/cheat-sheets/jupyter-notebook-atajos-de-teclado/

Google tiene una herramienta que que llama Collab y no habria necesidad de instalar anaconda

El análisis de los archivos HTML es un skill muy importante para iniciarnos como Data engineer, ya que nos permitirá extraer la información deseada de las páginas web. Existen varias maneras de analizar (*) HTML con Python, ya sea definiendo un analizador HTML con la librería HTMLParser o creando un objeto BeautifulSoup.

  • parsear ahora en adelante.
😃😃
No se encuentra el material indicado y el notebook trabajado.

video 4 link con codigo status http repasar

Directamente desde visual
pip install requests
pip install beautifulsoup4

yo uso jupyter en visual tengo instalado anaconda y en visual la extension de jupyter. Creo un nuevo archivo finalizado en .ipynb
y listo funciona

4. Descargando una página web

# %%
import requests

# %%
url = 'https://www.pagina12.com.ar/'

# %%
p12 = requests.get(url)

# %%
p12.status_code

# %%
print(p12.text)

# %%
p12.content

# %%
p12.headers

# %%
p12.request.headers

# %%
p12.request.method

# %%
p12.request.url

Estaría padre que estuviera actualizado el curso

Si quieres trabajar sin usar este entorno:

Creamos entorno virtual:

python3 -m venv venv

Lo activamos:

source venv/bin/activate

Se crean un archvo requirements.txt:

requests

Instalamos dependencias:
pip3 install -r requirements.txt

se crean archivo para realizar las pruebas clase4 .py

import requests

url = "https://www.pagina12.com.ar/"
p12 = requests.get(url)

print(p12.status_code)
print(p12.text)
print(p12.content)
print(p12.headers)
print(p12.request.headers)
print(p12.request.method)
print(p12.request.url)

Ejecutamos:

python clase4.py

mostrar la página en formato de texto plano

En versiones nuevas cuando abres el Anaconda, al inicio se abre una ventana negra y se cierra varias veces, es normal, al inicio pense que habia hecho algo malo.

Deberia el profesor a enseñar a instalar las librerias que menciona en el video.

Sí alguien tiene problemas al hacer la petición, y por ejemplo esta les arroja un status code 403, pueden agregar un par de headers:

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
p12 = requests.get(url, headers=headers)

Si no quieren instalar Anaconda, pueden configurar el entorno virtual en python. El profe Facundo lo explica muy bien en su curso de Python Intermedio:

Una vez configurado el entorno virtual, pueden instalar todos los módulos mediante pip

  • pip install jupyter
  • pip install requests
  • pip install beautifulsoup4

¿Alguien tuvo incovenientes con el salto entre la lección 3 y el inicio de ésta?

Les comparto lo que hice…

Primero: Una vez realizados todos los pasos mencionados en la lección 3, procedí a abrir el prompt de Anaconda. (Una ventana negra de línea de comandos)

Segundo: En mi línea de comandos ejecuté las siguientes instrucciones:

  • conda install -c anaconda requests
  • conda install -c anaconda beautifulsoup4

Tercero: Al abrirse una página web en nuestro navegador (Si no se abre ninguna página, sino que dentro del prompt nos muestra una dirección URL, la copiamos y la pegamos en el navegador), le daremos click sobre el botón “New” --> “Python” !

Con eso podemos continuar donde inició el Prof.

Con el shortcut Shift + Enter se le da Run a la línea y se selecciona una nueva

En general los códigos de respuesta pueden ser establecidos según su primer número:

1XX: Respuestas informativas
2XX: Peticiones Correctas
3XX: Redirecciones
4XX: Errores del Cliente
5XX: Errores del servidor

Para más información:
https://diego.com.es/codigos-de-estado-http#:~:text=Los códigos de estado HTTP,que reconozca estas 5 clases.

requests.get(url)
<Response [503]>

p12 = requests.get(url)
_
p12.status_code
503

El profe lo hace bien solo tiene que corregir algunas cosas como por ejemplo estar apareciendo en cámara a cada comentario y aplazar lo de el bloqueo de user agent porque en mi caso lapina no me arroja error pero tampoco me da respuesta

me hubiese gustado otro diario de ejemplo jajaj

Para descargar una pagina web debemos importar la libreria request

import requests
  1. crear una variable URL y guardar la URL del sitio a scrappiar y se crear una variable para llamarla
url = 'https://www.pagina12.com.ar'

p12= requests.get(url)
  1. Para saber si se descargo bien usamos el status
p12.status_code
  1. Despise podemos llamar el texto de la pagina web y el contenido
#print(p12.text)

#p12.content

  1. Podemos también llamar los headers, estos se generan cuando hacemos un requerimiento
p12.request.headers

genial!! Logre scrapear mi pagina web!!

Para trabajar en un ambiente virtual (venv_1) y únicamente aquí las librerías instaladas (requests):

> conda create --name venv_1 requests

Activación:

> source activate venv_1

Desactivación:

> source deactivate

Listado de ambientes virtuales:

> conda env list

Borrar un ambiente virutal:

> conda remove --name venv_1 --all

Hola a todos, para instalar las librerias usando anaconda en windows se puede hacer de la siguiente manera:

  1. En la ventana principal hacer click en enviroment.

  2. Buscar la libreria a utilizar

  3. Seleccionar la libreria en la lista de abajo y hacer click en “apply”

¿Pero qué clase de brujería es esta?

Les comparto mis notas del curso en formato markdown, espero les sean de ayuda

https://github.com/rb-one/webscraping_by_platzi/blob/master/Notes/notes.md

Para instalar la ultima versión de Anaconda a fecha del 2/09/2020 en ubuntu.

  1. curl -O https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh

  2. sha256sum Anaconda3-2020.07-Linux-x86_64.sh (este comando permitira ver la llae bash para compararla con la respectiva en la pagina oficial y saber que la version es correcta)

  3. bash Anaconda3-2020.07-Linux-x86_64.sh

  4. source ~/.bashrc

Ya solo queda crear el enviroment

  1. conda create --name my_env python=3

De hay para adelante solo es googlear lo que se necesite, espero sea util

Podemos usar vscode, siguiendo la documentacion
https://code.visualstudio.com/docs/python/jupyter-support
es rápido.

Toda la información sobre nuestra petición está ahora almacenada en un ‘objeto Response’ llamado ‘req’. Por ejemplo, puedes ‘obtener la codificación de la página’ web usando la ‘propiedad req.encoding’. También puedes obtener el ‘código de estado’ de la petición usando la ‘propiedad req.status_code’.

import requests
req = requests.get('https://www.pagina12.com.ar/')

req.encoding     # returns 'utf-8'
req.status_code  # returns '200'

Hacer las prácticas en la nube https://colab.research.google.com/

![](