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 91

Preguntas 17

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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.

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 .

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

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/

  • 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

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 鉁屸瓙)

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 鈥榬equests鈥 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 鈥淣ew鈥 --> 鈥淧ython鈥 !

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 鈥渁pply鈥

驴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 鈥榦bjeto Response鈥 llamado 鈥榬eq鈥. Por ejemplo, puedes 鈥榦btener la codificaci贸n de la p谩gina鈥 web usando la 鈥榩ropiedad req.encoding鈥. Tambi茅n puedes obtener el 鈥榗贸digo de estado鈥 de la petici贸n usando la 鈥榩ropiedad 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/

![](