diff --git a/your-code/Cincuenta_recomendaciones_de_libros_bibiograficos.txt b/your-code/Cincuenta_recomendaciones_de_libros_bibiograficos.txt new file mode 100644 index 0000000..8d5a687 Binary files /dev/null and b/your-code/Cincuenta_recomendaciones_de_libros_bibiograficos.txt differ diff --git a/your-code/Hechizos_Harry_Potter_movie.txt b/your-code/Hechizos_Harry_Potter_movie.txt new file mode 100644 index 0000000..5a4edff Binary files /dev/null and b/your-code/Hechizos_Harry_Potter_movie.txt differ diff --git a/your-code/Personajes_mas_importantes_Harry_Potter.txt b/your-code/Personajes_mas_importantes_Harry_Potter.txt new file mode 100644 index 0000000..5d2be24 Binary files /dev/null and b/your-code/Personajes_mas_importantes_Harry_Potter.txt differ diff --git a/your-code/Proyecto 2.ipynb b/your-code/Proyecto 2.ipynb new file mode 100644 index 0000000..6e7b8cc --- /dev/null +++ b/your-code/Proyecto 2.ipynb @@ -0,0 +1,1413 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 35, + "id": "19a889e7", + "metadata": {}, + "outputs": [], + "source": [ + "import re \n", + "import requests\n", + "\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import lxml\n", + "\n", + "from bs4 import BeautifulSoup" + ] + }, + { + "cell_type": "markdown", + "id": "a885dd6b", + "metadata": {}, + "source": [ + "## Web Scraping - quelibroleo.com \n", + "\n", + "Se hará un WEB Scraping de la página WEB quelibroleo.com, de la cual se extraerá la informacion de los nombres y autores de los mejores libros biográficaos y memorias que presentan en su página. " + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "ebf28305", + "metadata": {}, + "outputs": [], + "source": [ + "contenido = [] # Es una lista con la info de las primeras 8 paginas de la listas de las mejores biografias de la web \n", + "datos_varios = []\n", + "datos_puntuaciones = []\n", + "datos_links = []\n", + "puntaje=[]\n", + "\n", + "#Se hace el request para obtener en formato la lista la informacion de las primeras 8 paginas de la página WEB \n", + "\n", + "for i in range(1,6):\n", + " response = requests.get(f\"https://quelibroleo.com/mejores-genero/biografias-memorias?sort=&page={i}\").content\n", + " contenido.append(response)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "d4caa93c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "5\n", + "100\n" + ] + } + ], + "source": [ + "paginas_cargadas = len(contenido)\n", + "print(paginas_cargadas)\n", + "\n", + "datos_pag = paginas_cargadas*20\n", + "print(datos_pag)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "6422fe2f", + "metadata": {}, + "outputs": [], + "source": [ + "#Generar la sopa y extraer datos para sacar los nombres de los libros y autores, puntaje:\n", + "\n", + "for i in range(len(contenido)):\n", + " soup = BeautifulSoup(contenido[i], \"lxml\")\n", + " a = soup.select(\"div[class='col-lg-8 col-xs-12'] a\")\n", + " b = soup.select(\"div[class='estadisticas'] span\")\n", + " datos_varios.append(a)\n", + " datos_puntuaciones.append(b)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "8e8ee711", + "metadata": {}, + "outputs": [], + "source": [ + "# Función para extraer los nombres de los libros:\n", + "\n", + "def nombres_libros(cont,datos):\n", + " lst_libros = []\n", + " \n", + " for i in range(cont): \n", + " for j in (range(0,40,4)):\n", + " \n", + " a1 = datos[i][j].text\n", + " lst_libros.append(a1)\n", + " \n", + " return lst_libros\n", + "\n", + "\n", + "libros = nombres_libros(paginas_cargadas,datos_varios)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "db5bd722", + "metadata": {}, + "outputs": [], + "source": [ + "#Funcion para extraer los nombres de los autores:\n", + "\n", + "def nombres_autores(cont, datos):\n", + " lst_autores = []\n", + " \n", + " for i in range(cont):\n", + " for j in (range(1,40,4)):\n", + " b = datos[i][j].text\n", + " lst_autores.append(b)\n", + " \n", + " return lst_autores\n", + "\n", + "autores = nombres_autores(paginas_cargadas,datos_varios)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "b8ca7214", + "metadata": {}, + "outputs": [], + "source": [ + "def puntaje_libro(cont,datos):\n", + " lst_puntuaciones = []\n", + " \n", + " for i in range(cont):\n", + " for j in range(10):\n", + " cali = datos[i][j].text.split()\n", + " lst_puntuaciones.append(cali)\n", + " \n", + " return lst_puntuaciones\n", + "\n", + "puntaje = puntaje_libro(paginas_cargadas,datos_puntuaciones)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "1040604c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
LibroAutorPuntuación
0EL MUNDO DE AYER: Memorias de un europeoZWEIG, STEFAN[8,85]
1CISNES SALVAJESCHANG, JUNG[8,48]
2FOUCHÉZWEIG, STEFAN[8,46]
3MARIA ANTONIETAZWEIG, STEFAN[8,42]
4MEMORIAS DE LA CASA MUERTADOSTOIEVSKII, FIODOR M. (Fiódor Dostoyevski)[8,21]
5LIMÓNOVCARRÈRE, EMMANUEL[8,08]
6ANTE TODO NO HAGAS DAÑOMARSH, HENRY[8,06]
7CIEN AÑOS DE SOLEDAD Y UN HOMENAJE. Discursos ...GARCÍA MÁRQUEZ, GABRIEL y FUENTES, CARLOS[8,05]
8EL LIBRO DE LOS ABRAZOSGALEANO, EDUARDO[8,05]
9OPEN: MEMORIASAGASSI, ANDRE[8,05]
10INSTRUMENTAL. Memorias de música, medicina y l...RHODES, JAMES[7,99]
11JUANA LA LOCAFERNÁNDEZ ÁLVAREZ, MANUEL[8,02]
12MAGALLANESZWEIG, STEFAN[7,97]
13COSAS QUE LOS NIETOS DEBERÍAN SABEREVERETT, MARK OLIVER[7,94]
14ÉRAMOS UNOS NIÑOSSMITH, PATTI[7,87]
15STEVE JOBS. La biografíaISAACSON, WALTER[7,86]
16CONFIESO QUE HE VIVIDONERUDA, PABLO[7,66]
17MIENTRAS ESCRIBOKING, STEPHEN[7,65]
18YO SOY MALALAYOUSAFZAI, MALALA y LAMB, CHRISTINA[7,65]
19LAS CENIZAS DE ÁNGELAMCCOURT, FRANK[7,61]
20REINAS MALDITASMORATÓ, CRISTINA[7,61]
21LA FORJA DE UN REBELDEBAREA, ARTURO[7,59]
22HISTORIAS DE MUJERESMONTERO, ROSA[7,55]
23ANTES DEL FINSABATO, ERNESTO[7,53]
24EL DIARIO DE UNA ADOLESCENTE (ANA FRANK)FRANK, ANA[7,47]
25EL PODER DEL AHORA. Una guía para la iluminaci...TOLLE, ECKHART[7,46]
26UN GATO CALLEJERO LLAMADO BOBBOWEN, JAMES[7,45]
27FACTOTUMBUKOWSKI, CHARLES[7,42]
28MARTES CON MI VIEJO PROFESORALBOM, MITCH[7,41]
29LOS SUBTERRÁNEOSKEROUAC, JACK[7,41]
30EL CASTILLO DE CRISTALWALLS, JEANNETTE[7,39]
31CARTA AL PADREKAFKA, FRANZ[7,38]
32NO SIN MI HIJAMAHMOODY, BETTY y HOFFER, WILLIAM[7,35]
33GROUCHO Y YOMARX, GROUCHO[7,35]
34PAULAALLENDE, ISABEL[7,33]
35FLOR DEL DESIERTODIRIE, WARIS[7,31]
36APEGOS FEROCESGORNICK, VIVIAN[7,31]
37JUVENTUDCOETZEE, J.M.[7,31]
38EL TERCER OJOLOBSANG RAMPA, T.[7,27]
39BIOGRAFÍA DEL HAMBRENOTHOMB, AMÉLIE[7,27]
40AL FAROWOOLF, VIRGINIA[7,24]
41A PROPÓSITO DE NADA. AutobiografiaALLEN, WOODY[7,21]
42EL DIARIO DE ANA FRANKFRANK, ANA[7,2]
43MORTAL Y ROSAUMBRAL, FRANCISCO[7,2]
44EL CUADERNO DE MAYAALLENDE, ISABEL[7,17]
45PASIÓN INDIA. La verdadera historia de Anita D...MORO, JAVIER[7,17]
46DIARIO DE INVIERNOAUSTER, PAUL[7,14]
47NADIE ES MÁS QUE NADIEREVILLA, MIGUEL ÁNGEL[7,14]
48EL LIBRERO DE KABULSEIERSTAD, ASNE[7,12]
49LA VIDA DESPUÉSRIVERA DE LA CRUZ, MARTA[7,09]
\n", + "
" + ], + "text/plain": [ + " Libro \\\n", + "0 EL MUNDO DE AYER: Memorias de un europeo \n", + "1 CISNES SALVAJES \n", + "2 FOUCHÉ \n", + "3 MARIA ANTONIETA \n", + "4 MEMORIAS DE LA CASA MUERTA \n", + "5 LIMÓNOV \n", + "6 ANTE TODO NO HAGAS DAÑO \n", + "7 CIEN AÑOS DE SOLEDAD Y UN HOMENAJE. Discursos ... \n", + "8 EL LIBRO DE LOS ABRAZOS \n", + "9 OPEN: MEMORIAS \n", + "10 INSTRUMENTAL. Memorias de música, medicina y l... \n", + "11 JUANA LA LOCA \n", + "12 MAGALLANES \n", + "13 COSAS QUE LOS NIETOS DEBERÍAN SABER \n", + "14 ÉRAMOS UNOS NIÑOS \n", + "15 STEVE JOBS. La biografía \n", + "16 CONFIESO QUE HE VIVIDO \n", + "17 MIENTRAS ESCRIBO \n", + "18 YO SOY MALALA \n", + "19 LAS CENIZAS DE ÁNGELA \n", + "20 REINAS MALDITAS \n", + "21 LA FORJA DE UN REBELDE \n", + "22 HISTORIAS DE MUJERES \n", + "23 ANTES DEL FIN \n", + "24 EL DIARIO DE UNA ADOLESCENTE (ANA FRANK) \n", + "25 EL PODER DEL AHORA. Una guía para la iluminaci... \n", + "26 UN GATO CALLEJERO LLAMADO BOB \n", + "27 FACTOTUM \n", + "28 MARTES CON MI VIEJO PROFESOR \n", + "29 LOS SUBTERRÁNEOS \n", + "30 EL CASTILLO DE CRISTAL \n", + "31 CARTA AL PADRE \n", + "32 NO SIN MI HIJA \n", + "33 GROUCHO Y YO \n", + "34 PAULA \n", + "35 FLOR DEL DESIERTO \n", + "36 APEGOS FEROCES \n", + "37 JUVENTUD \n", + "38 EL TERCER OJO \n", + "39 BIOGRAFÍA DEL HAMBRE \n", + "40 AL FARO \n", + "41 A PROPÓSITO DE NADA. Autobiografia \n", + "42 EL DIARIO DE ANA FRANK \n", + "43 MORTAL Y ROSA \n", + "44 EL CUADERNO DE MAYA \n", + "45 PASIÓN INDIA. La verdadera historia de Anita D... \n", + "46 DIARIO DE INVIERNO \n", + "47 NADIE ES MÁS QUE NADIE \n", + "48 EL LIBRERO DE KABUL \n", + "49 LA VIDA DESPUÉS \n", + "\n", + " Autor Puntuación \n", + "0 ZWEIG, STEFAN [8,85] \n", + "1 CHANG, JUNG [8,48] \n", + "2 ZWEIG, STEFAN [8,46] \n", + "3 ZWEIG, STEFAN [8,42] \n", + "4 DOSTOIEVSKII, FIODOR M. (Fiódor Dostoyevski) [8,21] \n", + "5 CARRÈRE, EMMANUEL [8,08] \n", + "6 MARSH, HENRY [8,06] \n", + "7 GARCÍA MÁRQUEZ, GABRIEL y FUENTES, CARLOS [8,05] \n", + "8 GALEANO, EDUARDO [8,05] \n", + "9 AGASSI, ANDRE [8,05] \n", + "10 RHODES, JAMES [7,99] \n", + "11 FERNÁNDEZ ÁLVAREZ, MANUEL [8,02] \n", + "12 ZWEIG, STEFAN [7,97] \n", + "13 EVERETT, MARK OLIVER [7,94] \n", + "14 SMITH, PATTI [7,87] \n", + "15 ISAACSON, WALTER [7,86] \n", + "16 NERUDA, PABLO [7,66] \n", + "17 KING, STEPHEN [7,65] \n", + "18 YOUSAFZAI, MALALA y LAMB, CHRISTINA [7,65] \n", + "19 MCCOURT, FRANK [7,61] \n", + "20 MORATÓ, CRISTINA [7,61] \n", + "21 BAREA, ARTURO [7,59] \n", + "22 MONTERO, ROSA [7,55] \n", + "23 SABATO, ERNESTO [7,53] \n", + "24 FRANK, ANA [7,47] \n", + "25 TOLLE, ECKHART [7,46] \n", + "26 BOWEN, JAMES [7,45] \n", + "27 BUKOWSKI, CHARLES [7,42] \n", + "28 ALBOM, MITCH [7,41] \n", + "29 KEROUAC, JACK [7,41] \n", + "30 WALLS, JEANNETTE [7,39] \n", + "31 KAFKA, FRANZ [7,38] \n", + "32 MAHMOODY, BETTY y HOFFER, WILLIAM [7,35] \n", + "33 MARX, GROUCHO [7,35] \n", + "34 ALLENDE, ISABEL [7,33] \n", + "35 DIRIE, WARIS [7,31] \n", + "36 GORNICK, VIVIAN [7,31] \n", + "37 COETZEE, J.M. [7,31] \n", + "38 LOBSANG RAMPA, T. [7,27] \n", + "39 NOTHOMB, AMÉLIE [7,27] \n", + "40 WOOLF, VIRGINIA [7,24] \n", + "41 ALLEN, WOODY [7,21] \n", + "42 FRANK, ANA [7,2] \n", + "43 UMBRAL, FRANCISCO [7,2] \n", + "44 ALLENDE, ISABEL [7,17] \n", + "45 MORO, JAVIER [7,17] \n", + "46 AUSTER, PAUL [7,14] \n", + "47 REVILLA, MIGUEL ÁNGEL [7,14] \n", + "48 SEIERSTAD, ASNE [7,12] \n", + "49 RIVERA DE LA CRUZ, MARTA [7,09] " + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_libro_autor_puntaje = pd.DataFrame(zip(libros, autores, puntaje), columns=[\"Libro\", \"Autor\",\"Puntuación\"])\n", + "df_libro_autor_puntaje" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "d42e9906", + "metadata": {}, + "outputs": [], + "source": [ + "df_libro_autor_puntaje.to_csv(\"Cincuenta_recomendaciones_de_libros_bibiograficos.txt\", sep=\"\\t\", encoding=\"utf-16\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36f9e8f8", + "metadata": {}, + "outputs": [], + "source": [ + "df_libro_autor_puntaje.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "a19e46d7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
LibroAutorPuntuación
45PASIÓN INDIA. La verdadera historia de Anita D...MORO, JAVIER[7,17]
46DIARIO DE INVIERNOAUSTER, PAUL[7,14]
47NADIE ES MÁS QUE NADIEREVILLA, MIGUEL ÁNGEL[7,14]
48EL LIBRERO DE KABULSEIERSTAD, ASNE[7,12]
49LA VIDA DESPUÉSRIVERA DE LA CRUZ, MARTA[7,09]
\n", + "
" + ], + "text/plain": [ + " Libro \\\n", + "45 PASIÓN INDIA. La verdadera historia de Anita D... \n", + "46 DIARIO DE INVIERNO \n", + "47 NADIE ES MÁS QUE NADIE \n", + "48 EL LIBRERO DE KABUL \n", + "49 LA VIDA DESPUÉS \n", + "\n", + " Autor Puntuación \n", + "45 MORO, JAVIER [7,17] \n", + "46 AUSTER, PAUL [7,14] \n", + "47 REVILLA, MIGUEL ÁNGEL [7,14] \n", + "48 SEIERSTAD, ASNE [7,12] \n", + "49 RIVERA DE LA CRUZ, MARTA [7,09] " + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_libro_autor_puntaje.tail()" + ] + }, + { + "cell_type": "markdown", + "id": "f50010fc", + "metadata": {}, + "source": [ + "#### ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ####" + ] + }, + { + "cell_type": "markdown", + "id": "60841a0e", + "metadata": {}, + "source": [ + "## APIs Proyecto \n", + "\n", + "Se extrajo información sobre los hechizos y personajes de las películas de Harry Potter. " + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "59605af5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "url = \"https://fedeperin-harry-potter-api.herokuapp.com/hechizos\"\n", + "\n", + "response = requests.get(url)\n", + "\n", + "response\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "f1c17340", + "metadata": {}, + "outputs": [], + "source": [ + "archivo = response.json()" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "5f13d4cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
idhechizouso
01AccioEncanto de invocación
12GlisseoConvierte una escalera en un tobogán
23ImperviusProtege al lanzador de una variedad de sustanc...
34Wingardium Leviosa/LocomotorLevita objetos
45ScourgifyLimpia cosas
............
6768Fiendfyre CurseHace fuego maldito
6869TarantallegraObliga al objetivo a bailar
6970MorsmordreConjura la Marca Tenebrosa
7071SectumsempraProvoca laceraciones graves
7172CrucioCausa un dolor inmenso
\n", + "

72 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " id hechizo \\\n", + "0 1 Accio \n", + "1 2 Glisseo \n", + "2 3 Impervius \n", + "3 4 Wingardium Leviosa/Locomotor \n", + "4 5 Scourgify \n", + ".. .. ... \n", + "67 68 Fiendfyre Curse \n", + "68 69 Tarantallegra \n", + "69 70 Morsmordre \n", + "70 71 Sectumsempra \n", + "71 72 Crucio \n", + "\n", + " uso \n", + "0 Encanto de invocación \n", + "1 Convierte una escalera en un tobogán \n", + "2 Protege al lanzador de una variedad de sustanc... \n", + "3 Levita objetos \n", + "4 Limpia cosas \n", + ".. ... \n", + "67 Hace fuego maldito \n", + "68 Obliga al objetivo a bailar \n", + "69 Conjura la Marca Tenebrosa \n", + "70 Provoca laceraciones graves \n", + "71 Causa un dolor inmenso \n", + "\n", + "[72 rows x 3 columns]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Data Frame de los hechizos de la pellícula de Harry Potter \n", + "\n", + "df_hechizos = pd.DataFrame(response.json())\n", + "df_hechizos" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "7eec38d4", + "metadata": {}, + "outputs": [], + "source": [ + "df_hechizos.to_csv(\"Hechizos_Harry_Potter_movie.txt\", sep=\"\\t\", encoding=\"utf-16\")" + ] + }, + { + "cell_type": "markdown", + "id": "8a23ba10", + "metadata": {}, + "source": [ + "Información sobre los 25 personajes más importantes de Harry Potter:" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "8abb1054", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "url = \"https://fedeperin-harry-potter-api.herokuapp.com/personajes\"\n", + "\n", + "response = requests.get(url)\n", + "\n", + "response" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "ad674126", + "metadata": {}, + "outputs": [], + "source": [ + "archivo = response.json()\n", + "#archivo" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "c675b505", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
personajeapodoestudianteDeHogwartscasaDeHogwartsinterpretado_porhijos
0Harry James PotterHarryTrueGryffindorDaniel Radcliffe[James Sirius Potter, Albus Severus Potter, Li...
1Hermione Jean GrangerHermioneTrueGryffindorEmma Watson[Rose Granger-Weasley, Hugo Granger-Weasley]
2Ron WeasleyRonTrueGryffindorRupert Grint[Rose Granger-Weasley, Hugo Granger-Weasley]
3Fred WeasleyFredTrueGryffindorJames Phelps[]
4George WeasleyGeorgeTrueGryffindorOliver Phelps[]
5Bill WeasleyBillTrueGryffindorDomhnall Gleeson[]
6Percy WeasleyPercyTrueGryffindorChris Rankin[]
7Charlie WeasleyCharlieTrueGryffindorninguno[]
8Ginny WeasleyGinnyTrueGryffindorBonnie Right[James Sirius Potter, Albus Severus Potter, Li...
9Molly WeasleyMollyTrueGryffindorJulie Walters[Ron Weasley, Fred Weasley, George Weasley, Bi...
10Arthur WeasleyArthurTrueGryffindorMark Williams[Ron Weasley, Fred Weasley, George Weasley, Bi...
11Neville LongbottomNevilleTrueGryffindorMatthew Lewis[]
12Luna LovegoodLunaTrueRavenclawEvanna Lynch[]
13Draco MalfoyDracoTrueSlytherinTom Felton[Scorpius Malfoy]
14Albus Percival Wulfric Brian DumbledoreDumbledoreTrueGryffindorRichard Harris[]
15Minerva McGonagallMinervaTrueGryffindorMaggie Smith[]
16Remus LupinLupinTrueGryffindorDavid Thewils[Ted Lupin]
17Rubeus HagridHagridTrueGryffindorRobbie Coltrane[]
18Sirius BlackSiriusTrueGryffindorGary Oldman[]
19Severus SnapeSnapeTrueSlytherinAlan Rickman[]
20Bellatrix LestrangeBellaTrueSlytherinHelena Bonham Carter[Delphi]
21Lord VoldemortVoldemortTrueSlytherinRalph Fiennes[Delphi]
22Argus FilchFilchFalseningunaDavid Bradley[]
\n", + "
" + ], + "text/plain": [ + " personaje apodo estudianteDeHogwarts \\\n", + "0 Harry James Potter Harry True \n", + "1 Hermione Jean Granger Hermione True \n", + "2 Ron Weasley Ron True \n", + "3 Fred Weasley Fred True \n", + "4 George Weasley George True \n", + "5 Bill Weasley Bill True \n", + "6 Percy Weasley Percy True \n", + "7 Charlie Weasley Charlie True \n", + "8 Ginny Weasley Ginny True \n", + "9 Molly Weasley Molly True \n", + "10 Arthur Weasley Arthur True \n", + "11 Neville Longbottom Neville True \n", + "12 Luna Lovegood Luna True \n", + "13 Draco Malfoy Draco True \n", + "14 Albus Percival Wulfric Brian Dumbledore Dumbledore True \n", + "15 Minerva McGonagall Minerva True \n", + "16 Remus Lupin Lupin True \n", + "17 Rubeus Hagrid Hagrid True \n", + "18 Sirius Black Sirius True \n", + "19 Severus Snape Snape True \n", + "20 Bellatrix Lestrange Bella True \n", + "21 Lord Voldemort Voldemort True \n", + "22 Argus Filch Filch False \n", + "\n", + " casaDeHogwarts interpretado_por \\\n", + "0 Gryffindor Daniel Radcliffe \n", + "1 Gryffindor Emma Watson \n", + "2 Gryffindor Rupert Grint \n", + "3 Gryffindor James Phelps \n", + "4 Gryffindor Oliver Phelps \n", + "5 Gryffindor Domhnall Gleeson \n", + "6 Gryffindor Chris Rankin \n", + "7 Gryffindor ninguno \n", + "8 Gryffindor Bonnie Right \n", + "9 Gryffindor Julie Walters \n", + "10 Gryffindor Mark Williams \n", + "11 Gryffindor Matthew Lewis \n", + "12 Ravenclaw Evanna Lynch \n", + "13 Slytherin Tom Felton \n", + "14 Gryffindor Richard Harris \n", + "15 Gryffindor Maggie Smith \n", + "16 Gryffindor David Thewils \n", + "17 Gryffindor Robbie Coltrane \n", + "18 Gryffindor Gary Oldman \n", + "19 Slytherin Alan Rickman \n", + "20 Slytherin Helena Bonham Carter \n", + "21 Slytherin Ralph Fiennes \n", + "22 ninguna David Bradley \n", + "\n", + " hijos \n", + "0 [James Sirius Potter, Albus Severus Potter, Li... \n", + "1 [Rose Granger-Weasley, Hugo Granger-Weasley] \n", + "2 [Rose Granger-Weasley, Hugo Granger-Weasley] \n", + "3 [] \n", + "4 [] \n", + "5 [] \n", + "6 [] \n", + "7 [] \n", + "8 [James Sirius Potter, Albus Severus Potter, Li... \n", + "9 [Ron Weasley, Fred Weasley, George Weasley, Bi... \n", + "10 [Ron Weasley, Fred Weasley, George Weasley, Bi... \n", + "11 [] \n", + "12 [] \n", + "13 [Scorpius Malfoy] \n", + "14 [] \n", + "15 [] \n", + "16 [Ted Lupin] \n", + "17 [] \n", + "18 [] \n", + "19 [] \n", + "20 [Delphi] \n", + "21 [Delphi] \n", + "22 [] " + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_personajes = pd.DataFrame(response.json())\n", + "\n", + "df_personajes.drop(columns = [\"imagen\",\"id\"])\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "7609c8d8", + "metadata": {}, + "outputs": [], + "source": [ + "df_personajes.to_csv(\"Personajes_mas_importantes_Harry_Potter.txt\", sep=\"\\t\", encoding=\"utf-16\")" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "e61a29d3", + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import Image" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "83e33c1a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selecciona un número del 0 al 22:14\n" + ] + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(None, 'Albus Percival Wulfric Brian Dumbledore')" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Función para visualizar las fotos de 23 personajes de Harry Potter, con base en el número que tiene en la tabla de arriba:\n", + "\n", + "def photo(i):\n", + " pict = archivo[i][\"imagen\"]\n", + " image = display(Image(url=pict))\n", + " character = archivo[i][\"personaje\"]\n", + " return image, character \n", + "\n", + "photo (int(input(\"Selecciona un número del 0 al 22:\")))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6d80edbb", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}