|
49 | 49 | "cell_type": "code", |
50 | 50 | "execution_count": 1, |
51 | 51 | "metadata": {}, |
52 | | -## Saskia_Guerrrero |
53 | | - "outputs": [], |
54 | | - "source": [ |
55 | | - "%pip install requests # Instala la librería requests, que permite hacer peticiones HTTP, con ella puedes conectarte a páginas web y obtener su contenido." |
56 | | -## |
57 | 52 | "outputs": [ |
58 | 53 | { |
59 | 54 | "name": "stdout", |
|
72 | 67 | "# 🌐 La librería requests es necesaria para hacer solicitudes HTTP y descargar páginas web.\n", |
73 | 68 | "# 🕸️ Esto es fundamental para hacer web scraping (extraer información de páginas web).\n", |
74 | 69 | "%pip install requests " |
75 | | -main |
76 | 70 | ] |
77 | 71 | }, |
78 | 72 | { |
79 | 73 | "cell_type": "code", |
80 | 74 | "execution_count": null, |
81 | 75 | "metadata": {}, |
82 | | -# Saskia_Guerrrero |
83 | | - "outputs": [], |
84 | | - "source": [ |
85 | | - "%pip install beautifulsoup4 # Instala una librería para parsear HTML y XML, sirve para extraer información específica de una página web." |
86 | | - |
87 | 76 | "outputs": [ |
88 | 77 | { |
89 | 78 | "name": "stdout", |
|
115 | 104 | "# 🥣 La instrucción %pip install beautifulsoup4 sirve para instalar la librería Beautiful Soup 4 en tu entorno de Jupyter Notebook.\n", |
116 | 105 | "# 🕸️ Beautiful Soup es esencial para analizar y extraer información de archivos HTML y XML, lo que facilita el web scraping.\n", |
117 | 106 | "%pip install beautifulsoup4" |
118 | | -main |
119 | 107 | ] |
120 | 108 | }, |
121 | 109 | { |
|
147 | 135 | } |
148 | 136 | ], |
149 | 137 | "source": [ |
150 | | - "%pip install lxml # Parsers rápido y eficiente para manejar HTML y XML." |
| 138 | + "%pip install lxml" |
151 | 139 | ] |
152 | 140 | }, |
153 | 141 | { |
|
158 | 146 | }, |
159 | 147 | "outputs": [], |
160 | 148 | "source": [ |
161 | | - "# Importa las librerías necesarias para ejecutar el código.\n", |
| 149 | + "# Import required libraries\n", |
162 | 150 | "from bs4 import BeautifulSoup\n", |
163 | 151 | "from datetime import datetime\n", |
164 | 152 | "import requests\n", |
@@ -202,11 +190,11 @@ main |
202 | 190 | }, |
203 | 191 | "outputs": [], |
204 | 192 | "source": [ |
205 | | - "# Hace una solicitud HTTP de tipo GET a la página web.\n", |
| 193 | + "# Make a GET request\n", |
206 | 194 | "req = requests.get('http://www.ilga.gov/senate/default.asp')\n", |
207 | | - "# Se obtiene el contenido de la respuesta del servidor en formato de texto.\n", |
| 195 | + "# Read the content of the server’s response\n", |
208 | 196 | "src = req.text\n", |
209 | | - "# Se imprime solo los primeros 1000 caracteres del contenido.\n", |
| 197 | + "# View some output\n", |
210 | 198 | "print(src[:1000])" |
211 | 199 | ] |
212 | 200 | }, |
|
227 | 215 | "metadata": {}, |
228 | 216 | "outputs": [], |
229 | 217 | "source": [ |
230 | | - "# Se crea un objeto BeautifulSoup a partir de la variable src (que contiene el HTML obtenido con requests).\n", |
| 218 | + "# Parse the response into an HTML tree\n", |
231 | 219 | "soup = BeautifulSoup(src, 'lxml')\n", |
232 | | - "# Imprime de manera identada gracias a prettify los primeros 1000 caracteres.\n", |
| 220 | + "# Take a look\n", |
233 | 221 | "print(soup.prettify()[:1000])" |
234 | 222 | ] |
235 | 223 | }, |
|
265 | 253 | "metadata": {}, |
266 | 254 | "outputs": [], |
267 | 255 | "source": [ |
268 | | - "# Usa soup.find_all(\"a\") para buscar todos los elementos <a> del documento HTML, a hace referencia a los hipervínculos.\n", |
| 256 | + "# Find all elements with a certain tag\n", |
269 | 257 | "a_tags = soup.find_all(\"a\")\n", |
270 | | - "print(a_tags[:10])#Imprime los primeros 10 elementos de la lista." |
| 258 | + "print(a_tags[:10])" |
271 | 259 | ] |
272 | 260 | }, |
273 | 261 | { |
|
287 | 275 | }, |
288 | 276 | "outputs": [], |
289 | 277 | "source": [ |
290 | | - "#Obtener todos los elementos <a> de la página y se imprime el primer enlace de cad lista.\n", |
291 | 278 | "a_tags = soup.find_all(\"a\")\n", |
292 | 279 | "a_tags_alt = soup(\"a\")\n", |
293 | 280 | "print(a_tags[0])\n", |
|
307 | 294 | "metadata": {}, |
308 | 295 | "outputs": [], |
309 | 296 | "source": [ |
310 | | - "print(len(a_tags)) #Imprime el total de hipervínculos o enlaces que se encontraron en la página." |
| 297 | + "print(len(a_tags))" |
311 | 298 | ] |
312 | 299 | }, |
313 | 300 | { |
|
329 | 316 | }, |
330 | 317 | "outputs": [], |
331 | 318 | "source": [ |
332 | | - "# Busca solo las etiquetas <a> que tengan la clase \"sidemenu\", y mestra los primeros 5 enlaces con la clase sidemenu.\n", |
| 319 | + "# Get only the 'a' tags in 'sidemenu' class\n", |
333 | 320 | "side_menus = soup(\"a\", class_=\"sidemenu\")\n", |
334 | 321 | "side_menus[:5]" |
335 | 322 | ] |
|
351 | 338 | }, |
352 | 339 | "outputs": [], |
353 | 340 | "source": [ |
354 | | - "# Se usa soup.select() para buscar elementos con sintaxis CSS y muestra los primeros 5 enlaces con clase sidemenu.\n", |
| 341 | + "# Get elements with \"a.sidemenu\" CSS Selector.\n", |
355 | 342 | "selected = soup.select(\"a.sidemenu\")\n", |
356 | 343 | "selected[:5]" |
357 | 344 | ] |
|
0 commit comments