Meta tags:
description= Aprende a usar la librería requests de Python para hacer llamadas GET y POST, enviar cabeceras, parámetros de consulta, manejar respuestas JSON y gestionar…;
Headings (most frequently used words):
de, enviar, petición, con, hacer, una, http, manejo, errores, la, respuesta, api, json, python, trabajo, apis, requests, instalación, get, parámetros, consulta, cabeceras, post, otros, métodos, usar, sesiones, inspeccionar, autenticación, ejemplo, real, github, peticiones, concurrentes, asyncio, referencia, rápida, capítulos, relacionados, práctica, leer, como, datos, formulario, archivos, subida, multipart, verificar, códigos, estado, raise_for_status, red, establece, siempre, un, tiempo, espera, basic, auth, token, bearer, claves,
Text of the page (most frequently used words):
#requests (83), #python (78), response (61), json (43), print (34), get (33), https (26), copiar (25), una (24), url (24), api (22), post (22), import (22), con (20), que (19), headers (19), com (18), para (17), session (17), los (16), aprender (15), status_code (14), matplotlib (14), http (13), data (13), mysql (13), todos (12), mongodb (12), petición (11), except (11), datos (11), error (11), elementos (11), enviar (10), bearer (10), jsonplaceholder (10), typicode (10), err (10), exceptions (10), archivos (10), asyncio (9), cabeceras (9), consulta (9), más (9), html (8), try (8), métodos (8), params (8), las (8), del (8), timeout (8), raise_for_status (8), authorization (8), token (8), 200 (8), httpbin (8), org (8), base (8), listas (8), manejo (7), dict (7), with (7), conexión (7), tiempo (7), espera (7), content (7), title (7), the (7), application (7), example (7), apis (7), servidor (7), crear (7), por (7), tuplas (7), github (6), autenticación (6), respuesta (6), errores (6), hacer (6), parámetros (6), page (6), payload (6), request (6), llamadas (6), cuerpo (6), delete (6), for (6), librería (6), variables (6), usa (6), completed (6), string (6), eliminar (6), w3docs (5), formato (5), este (5), async (5), update (5), lugar (5), forma (5), como (5), strings (5), primeros (5), pasos (5), tutorial (5), lista (5), formatter (5), color (5), password (4), generator (4), práctica (4), peticiones (4), ejemplo (4), usar (4), body (4), sin (4), excepciones (4), mayoría (4), respuestas (4), pip (4), text (4), estado (4), key (4), código (4), patrón (4), sesión (4), httperror (4), repos (4), accept (4), cabecera (4), auth (4), siempre (4), automáticamente (4), 201 (4), userid (4), false (4), regresión (4), diccionarios (4), acceder (4), code (3), encoder (3), editor (3), cuestionarios (3), ejercicios (3), php (3), javascript (3), css (3), web (3), desde (3), concurrentes (3), sesiones (3), instalación (3), this (3), proyecto (3), red (3), bytes (3), 4xx (3), 5xx (3), put (3), patch (3), files (3), file (3), open (3), subir (3), val (3), capítulo (3), await (3), fetch (3), aiohttp (3), cliente (3), requestexception (3), repo (3), per_page (3), user (3), github_token (3), secret (3), alice (3), basic (3), pasa (3), tupla (3), devuelve (3), type (3), objeto (3), todo (3), and (3), set (3), establece (3), llamar (3), tipo (3), salida (3), obtener (3), estándar (3), cadenas (3), recorrer (3), unir (3), ver (3), tools (3), italiano (2), português (2), español (2), français (2), русский (2), deutsch (2), english (2), beautifier (2), diff (2), herramientas (2), java (2), git (2), libros (2), fragmentos (2), capítulos (2), relacionados (2), referencia (2), rápida (2), real (2), inspeccionar (2), otros (2), pytest (2), which (2), argument (2), sends (2), dependencias (2), virtual (2), codificación (2), instala (2), analizar (2), lanzar (2), excepción (2), verificar (2), pdf (2), archivo (2), formulario (2), cómo (2), funciona (2), main (2), results (2), urls (2), def (2), programas (2), endpoints (2), vez (2), cada (2), llamada (2), módulo (2), escribas (2), network (2), updated (2), users (2), base_url (2), environ (2), tokens (2), entorno (2), modernas (2), usan (2), claves (2), username (2), image (2), png (2), contenido (2), binario (2), how (2), long (2), took (2), mismo (2), múltiples (2), rápido (2), lectura (2), segundos (2), cubre (2), clase (2), captura (2), not (2), connectionerror (2), server (2), nivel (2), 404 (2), éxito (2), esta (2), limpia (2), ante (2), created (2), resource (2), true (2), rest (2), codifica (2), subida (2), esperan (2), multipart (2), form (2), modo (2), form_data (2), formularios (2), buy (2), groceries (2), esperada (2), envía (2), clave (2), agent (2), caracteres (2), sobre (2), objetos (2), tipos (2), delectus (2), aut (2), autem (2), llama (2), leer (2), manejar (2), handling (2), números (2), clases (2), limit (2), colección (2), ordenar (2), cuadrícula (2), dispersión (2), distribución (2), introducción (2), bucles (2), conjuntos (2), sets (2), cambiar (2), agregar (2), hash (2), 2026, derechos, reservados, hecho, desarrolladores, idioma, política, privacidad, contacto, acerca, empresa, tutoriales, ejemplos, gratuitos, 2014, previous, yes, was, helpful, comprobar, bloqueo, aísla, environments, escribe, robusto, torno, comprende, impulsa, gestiona, reutilizar, establecer, texto, tarea, entender, antes, adoptar, run, gather, clientsession, return, llaman, muchos, sincrónica, bloquea, cambia, equivalente, asíncrono, combínalo, compartidas, delimitado, enfoque, listo, producción, cualquier, stargazers_count, 40s, name, sort, torvalds, first, public, 2022, version, vnd, demuestra, completo, paginación, análisis, api_token, nunca, directamente, fuente, cárgalos, gestor, secretos, eyjhbgcioijiuzi1niis, write, imágenes, pdfs, final, after, redirects, elapsed, utf, encoding, reason, expone, devolvió, hagas, new, posts, all, reuse, connection, once, every, will, include, them, persiste, configuraciones, cookies, través, host, también, reutiliza, tcp, subyacente, agrupación, conexiones, nueva, separado, significa, esperar, hasta, entre, establecida, connect_timeout, read_timeout, seconds, defecto, esperará, indefinidamente, responde, evitar, queden, colgados, toda, jerarquía, demás, visión, detallada, unexpected, could, connect, check, your, timed, out, too, respond, fallos, fallo, resolución, dns, rechazada, agotado, lanzan, ambos, parece, lee, procesa, silenciosamente, 99999, lanza, fallar, incorrectas, 500, internal, 503, service, unavailable, 400, bad, 401, unauthorized, found, redirección, manejada, 3xx, 204, 2xx, significado, rango, indica, fue, exitosa, grupos, importantes, códigos, partial, replace, entirely, distintos, verbos, diferentes, operaciones, proporciona, función, método, carga, report, ábrelo, pásalo, mediante, algunas, www, urlencoded, serializa, recursos, acciones, personalizada, varía, según, servicio, identifica, quieres, recibir, etc, propósito, comunes, enviarás, myapp, transportan, metadatos, preferencias, pásalas, construir, mano, maneja, correctamente, especiales, builds, full, you, son, pares, valor, aparecen, después, pásalos, argumento, añade, detalles, corresponden, devuelven, manualmente, list, loads, raw, operación, común, páginas, __version__, estás, trabajando, dentro, recomendado, actívalo, primero, paquete, esté, limitado, tras, verifica, install, parte, realizar, envuelve, bajo, página, toma, sola, línea, diez, necesitas, instalar, trabajar, robusta, urllib, aprende, gestionar, trabajo, paquetes, entornos, virtuales, tooling, best, practices, threading, concurrency, csv, random, sys, itertools, collections, standard, library, sumar, dos, invertir, duplicados, enumeraciones, abstractas, encapsulamiento, polimorfismo, dataclasses, static, classmethod, property, mágicos, advanced, oop, sentencia, match, enumerate, zip, map, comprensiones, gestores, contexto, recursión, closures, generadores, decoradores, args, kwargs, sugerencias, intermediate, actualización, find, insertar, join, drop, table, order, where, select, insert, tabla, vecinos, cercanos, curva, auc, roc, validación, cruzada, agregación, bootstrap, means, categóricos, búsqueda, logística, agrupamiento, jerárquico, matriz, confusión, árbol, decisión, train, test, escalar, múltiple, polinomial, lineal, diagrama, normal, percentil, desviación, media, mediana, moda, machine, learning, gráficos, pastel, histogramas, barras, subplot, etiquetas, líneas, marcadores, trazado, pyplot, django, scipy, pandas, numpy, modules, escribir, formateo, entrada, usuario, regex, matemáticas, fechas, módulos, ámbito, iteradores, herencia, arrays, lambda, funciones, while, else, operadores, booleanos, casting, comentarios, sintaxis, nombres, actualizar, desempaquetar, segmentación, home, anidados, modificar, iterar, comprensión, globales, escape, diccionario, concatenar, asignar, valores, conjunto, añadir, iniciar, buscar, formatters, reverse, sha256, md5, length, calculator, colors, hsl, hex, mixer, converter, picker, general, cursos,
Text of the page (random words):
for en python funciones en python python lambda arrays en python clases y objetos en python herencia en python iteradores de python ámbito en python módulos de python fechas en python matemáticas en python python json python regex python pip python try except entrada de usuario en python formateo de cadenas en python file handling manejo de archivos en python leer archivos en python escribir crear archivos en python eliminar archivos en python python modules tutorial de numpy tutorial de pandas tutorial de scipy tutorial de django python matplotlib introducción a matplotlib primeros pasos con matplotlib matplotlib pyplot trazado con matplotlib marcadores de matplotlib líneas en matplotlib etiquetas en matplotlib cuadrícula de matplotlib subplot de matplotlib dispersión en matplotlib barras en matplotlib histogramas con matplotlib gráficos de pastel con matplotlib machine learning primeros pasos media mediana moda desviación estándar percentil distribución de datos distribución normal de datos diagrama de dispersión regresión lineal regresión polinomial regresión múltiple escalar train test árbol de decisión matriz de confusión agrupamiento jerárquico regresión logística búsqueda en cuadrícula datos categóricos k means agregación bootstrap validación cruzada curva auc roc k vecinos más cercanos python mysql primeros pasos con mysql mysql crear base de datos mysql crear tabla mysql insert mysql select mysql where mysql order by mysql delete mysql drop table mysql update mysql limit mysql join python mongodb primeros pasos con mongodb crear base de datos mongodb mongodb crear colección insertar en mongodb mongodb find consulta mongodb ordenar en mongodb mongodb delete eliminar colección en mongodb actualización en mongodb mongodb limit intermediate python f strings sugerencias de tipo args kwargs decoradores generadores closures recursión gestores de contexto comprensiones enumerate zip map sentencia match advanced oop métodos mágicos property static y classmethod dataclasses polimorfismo encapsulamiento clases abstractas enumeraciones python how to eliminar duplicados en listas invertir un string sumar dos números error handling and the standard library lanzar excepciones collections itertools os sys random archivos csv concurrency in python asyncio threading python tooling and best practices entornos virtuales paquetes pytest peticiones http python trabajo con apis requests aprende a usar la librería requests de python para hacer llamadas get y post enviar cabeceras parámetros de consulta manejar respuestas json y gestionar errores la librería requests es la forma estándar de realizar llamadas http desde python envuelve el módulo de bajo nivel urllib de python en una api limpia de modo que obtener una página web o llamar a una api rest toma una sola línea en lugar de diez este capítulo cubre todo lo que necesitas instalar requests hacer llamadas get y post enviar cabeceras y parámetros de consulta trabajar con respuestas json subir archivos usar sesiones y manejar errores de forma robusta instalación requests no forma parte de la librería estándar por lo que se instala con pip pip install requests copiar si estás trabajando dentro de un entorno virtual recomendado actívalo primero para que el paquete esté limitado a tu proyecto tras la instalación verifica que funciona import requests print requests __version__ e g 2 32 3 copiar hacer una petición get requests get envía una petición http get y devuelve un objeto response esta es la operación más común se usa para obtener datos de apis páginas web y archivos import requests response requests get https jsonplaceholder typicode com todos 1 print response status_code 200 print response url https jsonplaceholder typicode com todos 1 print response text raw response body as a string copiar salida esperada 200 https jsonplaceholder typicode com todos 1 userid 1 id 1 title delectus aut autem completed false copiar leer la respuesta como json la mayoría de las apis modernas devuelven json llama a json en la respuesta en lugar de analizar text manualmente llama a json loads por ti y devuelve un dict o list de python import requests response requests get https jsonplaceholder typicode com todos 1 data response json print data title delectus aut autem print data completed false copiar consulta el capítulo de python json para obtener más detalles sobre cómo se corresponden los objetos de python con los tipos json enviar parámetros de consulta los parámetros de consulta son los pares clave valor que aparecen después del en una url como q python page 2 pásalos como un dict al argumento params requests los codifica en la url y los añade automáticamente import requests params q python requests page 1 per_page 5 response requests get https httpbin org get params params requests builds the full url for you print response url https httpbin org get q python requests page 1 per_page 5 copiar usa siempre params en lugar de construir la url a mano maneja correctamente los caracteres especiales y la codificación enviar cabeceras de petición las cabeceras transportan metadatos tokens de autenticación preferencias de tipo de contenido claves de api y más pásalas como un dict a headers import requests headers accept application json authorization bearer my api token user agent myapp 1 0 response requests get https httpbin org headers headers headers print response json copiar cabeceras comunes que enviarás cabecera propósito authorization token de autenticación bearer basic etc content type formato del cuerpo de la petición por ejemplo application json accept formato que quieres recibir del servidor user agent identifica tu cliente ante el servidor x api key clave de api en una cabecera personalizada varía según el servicio hacer una petición post requests post envía datos al servidor se usa para crear recursos enviar formularios o llamar a acciones enviar json pasa un dict de python a json la librería lo serializa y establece la cabecera content type application json automáticamente import requests payload title buy groceries completed false userid 1 response requests post https jsonplaceholder typicode com todos json payload print response status_code 201 created print response json copiar salida esperada 201 title buy groceries completed false userid 1 id 201 copiar enviar datos de formulario algunas apis o formularios html esperan datos de tipo application x www form urlencoded usa data en lugar de json import requests form_data username alice password secret response requests post https httpbin org post data form_data print response status_code copiar enviar archivos subida multipart para subir un archivo ábrelo en modo binario y pásalo mediante files import requests with open report pdf rb as f response requests post https httpbin org post files file f print response status_code copiar requests codifica la subida como multipart form data que es lo que esperan la mayoría de los endpoints de carga de archivos otros métodos http las apis rest usan distintos verbos http para diferentes operaciones requests proporciona una función por método import requests base https jsonplaceholder typicode com todos 1 update a resource replace entirely response requests put base json title updated completed true userid 1 print response status_code 200 partial update response requests patch base json completed true print response status_code 200 delete a resource response requests delete base print response status_code 200 copiar manejo de errores verificar códigos de estado el código de estado http te indica si la petición fue exitosa los grupos más importantes rango significado 2xx éxito 200 ok 201 created 204 no content 3xx redirección manejada automáticamente por requests 4xx error del cliente 400 bad request 401 unauthorized 404 not found 5xx error del servidor 500 internal server error 503 service unavailable raise_for_status llamar a raise_for_status en una respuesta lanza una excepción httperror automáticamente si el código de estado es 4xx o 5xx esta es la forma más limpia de fallar rápido ante respuestas incorrectas import requests response requests get https jsonplaceholder typicode com todos 99999 try response raise_for_status data response json print data except requests exceptions httperror as err print f http error err copiar sin raise_for_status una respuesta 404 parece un éxito tu código lee un cuerpo de error y lo procesa silenciosamente manejo de errores de red los fallos a nivel de red fallo de resolución dns conexión rechazada tiempo de espera agotado lanzan requests exceptions connectionerror o requests exceptions timeout captura ambos con la clase base requests exceptions requestexception import requests try response requests get https api example com data timeout 5 response raise_for_status data response json except requests exceptions timeout print the request timed out server took too long to respond except requests exceptions connectionerror print could not connect check your network or the url except requests exceptions httperror as err print f http error response status_code err except requests exceptions requestexception as err print f unexpected error err copiar este patrón cubre toda la jerarquía de excepciones tiempo de espera conexión error http y la clase base que captura todo lo demás consulta python try except para una visión más detallada del manejo de excepciones en python establece siempre un tiempo de espera por defecto requests esperará indefinidamente si el servidor no responde pasa siempre timeout para evitar que los programas se queden colgados timeout connect_timeout read_timeout in seconds response requests get https api example com data timeout 3 10 copiar la forma de tupla establece el tiempo de espera de conexión y el tiempo de espera de lectura por separado un tiempo de espera de lectura de 10 segundos significa esperar hasta 10 segundos entre bytes una vez establecida la conexión usar sesiones un objeto requests session persiste configuraciones cabeceras cookies autenticación a través de múltiples peticiones al mismo host también reutiliza la conexión tcp subyacente agrupación de conexiones lo que es más rápido que crear una nueva conexión para cada llamada import requests with requests session as session set headers once every request in this session will include them session headers update authorization bearer my api token accept application json all requests reuse the connection and headers r1 session get https api example com users r2 session get https api example com posts r3 session post https api example com todos json title new print r1 status_code r2 status_code r3 status_code copiar usa una sesión siempre que hagas más de una petición al mismo servidor inspeccionar la respuesta el objeto response expone todo lo que el servidor devolvió import requests response requests get https httpbin org get print response status_code 200 print response reason ok print response headers dict of response headers print response headers content type application json print response encoding utf 8 print response elapsed how long the request took print response url final url after redirects copiar para contenido binario imágenes pdfs usa response content devuelve bytes en lugar de response text import requests response requests get https httpbin org image png with open image png wb as f f write response content copiar autenticación http basic auth pasa una tupla username password a auth import requests response requests get https httpbin org basic auth alice secret auth alice secret print response status_code 200 copiar token bearer claves de api la mayoría de las apis modernas usan un token bearer en la cabecera authorization import requests headers authorization bearer eyjhbgcioijiuzi1niis response requests get https api example com me headers headers copiar nunca escribas tokens directamente en los archivos fuente cárgalos desde variables de entorno o un gestor de secretos import os import requests token os environ api_token headers authorization f bearer token response requests get https api example com me headers headers copiar ejemplo real github api este ejemplo demuestra un patrón completo sesión autenticación bearer paginación manejo de errores y análisis de json import os import requests github_token os environ get github_token base_url https api github com with requests session as session session headers update authorization f bearer github_token accept application vnd github json x github api version 2022 11 28 try fetch the first page of public repos for a user response session get f base_url users torvalds repos params per_page 5 sort updated timeout 10 response raise_for_status repos response json for repo in repos print f repo name 40s repo stargazers_count except requests exceptions httperror as err print f github api error err except requests exceptions requestexception as err print f network error err copiar este patrón sesión con cabeceras compartidas raise_for_status try except delimitado es el enfoque listo para producción para cualquier cliente de api que escribas peticiones concurrentes con asyncio para programas que llaman a muchos endpoints a la vez la librería sincrónica requests bloquea en cada llamada cambia a aiohttp el equivalente asíncrono y combínalo con el módulo asyncio de python import asyncio import aiohttp async def fetch session url async with session get url as response return await response json async def main urls https jsonplaceholder typicode com todos 1 https jsonplaceholder typicode com todos 2 https jsonplaceholder typicode com todos 3 async with aiohttp clientsession as session results await asyncio gather fetch session u for u in urls for r in results print r title asyncio run main copiar consulta el capítulo de python asyncio para entender cómo funciona async await antes de adoptar este patrón referencia rápida tarea código petición get requests get url get con parámetros requests get url params key val get con cabeceras requests get url headers authorization bearer token post con cuerpo json requests post url json key val post con datos de formulario requests post url data key val subir un archivo requests post url files file open f pdf rb put patch delete requests put patch delete url json verificar estado response status_code lanzar excepción en 4xx 5xx response raise_for_status analizar cuerpo json response json cuerpo de texto sin formato response text cuerpo en bytes sin formato response content establecer tiempo de espera requests get url timeout 5 reutilizar conexión with requests session as s capítulos relacionados python pip instala requests y gestiona las dependencias del proyecto python json comprende la codificación json que impulsa la mayoría de las respuestas de api python try except escribe un manejo robusto de excepciones en torno a las llamadas de red python virtual environments aísla las dependencias del proyecto python asyncio llamadas http concurrentes sin bloqueo práctica práctica which argu...
|