Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rivaquiroga/intro-web-scraping-por-valparaiso
Materiales del taller "Introducción al web scraping con Python" realizado en el marco del evento de recaudación de fondos para la región de Valparaíso
https://github.com/rivaquiroga/intro-web-scraping-por-valparaiso
Last synced: 3 days ago
JSON representation
Materiales del taller "Introducción al web scraping con Python" realizado en el marco del evento de recaudación de fondos para la región de Valparaíso
- Host: GitHub
- URL: https://github.com/rivaquiroga/intro-web-scraping-por-valparaiso
- Owner: rivaquiroga
- Created: 2024-02-09T23:18:59.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-11T14:04:49.000Z (11 months ago)
- Last Synced: 2024-02-12T00:29:29.873Z (11 months ago)
- Language: HTML
- Homepage: https://tinyurl.com/r-y-python-por-valparaiso
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Introducción al web scraping con Python
En este taller aprenderemos a implementar la técnica de extracción de datos conocida como web scraping sobre sitios web estáticos usando la librería Beautiful Soup.
## Preparación
Para realizar las actividades planificadas necesitarás las librerías `request`, `beautifulsoup4`, `lxml` y `pandas`. Se pueden instalar desde [PyPI](https://pypi.org/) con `pip`. Al inicio de la sesión mostraremos cómo hacerlo, pero dejaremos el código acá como respaldo.
```
pip install beautifulsoup4
pip install requests
pip install pandas
pip install lxml
```Si prefieres trabajar en Google Colab, no olvides agregar un signo de exclamación al inicio de cada línea para su instalación, es decir:
```
!pip install beautifulsoup4
!pip install requests
!pip install pandas
!pip install lxml
```
(Esto le indica a Google Colab que ese no es código de Python, sino código que tiene que ejecutarse en la Terminal.)Si trabajas en Visual Studio Code o en otro IDE, será necesario que crees un entorno virtual. En Google Colab no es necesario, ya que cada _notebook_ es ya un entorno virtual.
Al inicio de la sesión mostraremos cómo hacerlo. De todos modos, dejaremos un respaldo con [las indicaciones en este documento](https://github.com/rivaquiroga/intro-web-scraping-por-valparaiso/blob/main/configuracion-entorno-virtual.md).## Enlaces ejemplos
A lo largo de la sesión revisaremos algunos sitios web a modo de ejemplo o para discutir algunas ideas.
:link: [Sitio web estático](https://www.senado.cl/appsenado/index.php?mo=lobby&ac=GetReuniones)
:link: [Sitio web dinámico](https://www.camara.cl/transparencia/asesoriasexternasgral.aspx)
:link: [Condiciones de uso](https://www.amazon.com/-/es/gp/help/customer/display.html?nodeId=508088&ref_=footer_cou)
:link: [Licenciamiento y uso del contenido 1](http://programminghistorian.org/es/)
:link: [Licenciamiento y uso del contenido 2](https://prensa.presidencia.cl/)
:link: [robots.txt 1](https://es.wikipedia.org/robots.txt)
:link: [robots.txt 2](https://www.memoriachilena.gob.cl/robots.txt)
## Atajos de teclado útiles
Los siguientes atajos de teclado serán útiles al explorar las páginas web que _escrapearemos_.
| Acción | Windows / Linux | Mac |
|---|---|---|
| Ver el código fuente de una página | ctrl + u | command + u|
| Abrir el panel de desarrollo | F12
ctrl + shift + i | F12
option + command +i |
| Abrir el panel de desarrollo con la opción de selección activada | ctrl + shift + c | option + command + c |## Actividades
Durante el taller realizaremos algunos ejercicios para poner en práctica lo aprendido. Iremos escribiendo el código "en vivo" en la sesión, por lo que el contenido de los archivos con código se irá actualizando a medida que escribamos en ellos.
### Ejercicio 1: extraer datos de un sitio "mínimo" y estructurarlos
:link: [Página web](https://rivaquiroga.github.io/intro-web-scraping-por-valparaiso/ejercicio-1/pagina.html)
:page_facing_up: [Código escrito durante el taller](https://www.dropbox.com/scl/fi/45zqj0vfbnj1xlgalv3g5/ejercicio-01.py?rlkey=0u4nowwu4iow5djftknlfq1a5&dl=0)
### Ejercicio 2: extraer tablas
:link: [Página web](https://www.worldometers.info/world-population/population-by-country/)
:page_facing_up: [Código durante el taller](https://www.dropbox.com/scl/fi/k8aykr5udedyu5k4lwk8y/ejercicio-02.py?rlkey=t2fh20yebkmlxrp12bn9g424v&dl=0)