Método import urllib: cosas que debes saber

| Última modificación: 15 de enero de 2025 | Tiempo de Lectura: 2 minutos
Premios Blog KeepCoding 2025

Full Stack Developer y Responsable de Formación base en KeepCoding.

En ocasiones he tenido que trabajar con recursos en línea desde Python y hace algún tiempo me topé con el paquete de import urllib. Este es un m ódulo que nos permite manejar URLs, realizar solicitudes HTTP entre otras muchas funciones. Hoy quiero mostrarte cómo funciona y qué debes hacer para sacarle el mayor provecho.

import urllib

¿Qué es import urllib?

Urllib es un módulo que se encarga de enviar y recibir datos entre tu aplicación Python y recursos en línea tales como páginas web o APIs. Import urllib es la manera en la que podemos usar urllib en Python, ya que ese ese el comando que utilizamos para importarlo. Con este puedes acceder a diferentes herramientas que te permiten realizar solicitudes HTTP, gestionar proxies, autenticar usuarios y manejar errores de red.

¿Cómo empezar a usar import urllib?

Con import urllib puedes realizar muchas acciones, desde tareas más básicas como obtener el contenido de una página web:

El siguiente código nos muestra cómo realizar una solicitud HTTP básica con urllib.request:

import urllib.request

url = 'http://python.org/'
with urllib.request.urlopen(url) as response:
html = response.read()
print(html)

Este fragmento accede a la página de Python, descarga su contenido y lo imprime. Fácil, ¿verdad? Pero esto es solo el comienzo.

Gestión de datos y encabezados HTTP

A menudo necesitarás enviar datos a un servidor o personalizar tu solicitud HTTP añadiendo encabezados. Aquí te mostramos un ejemplo de cómo hacerlo:

  • Enviar datos con una solicitud POST: Para enviar datos como un formulario HTML, usa el siguiente código:
import urllib.parse
import urllib.request

url = 'http://www.example.com/register'
values = {'name': 'John Doe', 'language': 'Python'}
data = urllib.parse.urlencode(values).encode('ascii')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
result = response.read()
print(result)
  • Personalizar encabezados: Algunos servidores requieren encabezados específicos para procesar tu solicitud. Puedes incluirlos así:
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib.request.Request(url, headers=headers)

Capturar errores con el módulo de import urllib

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Si accedes y trabajas con recursos en línea, es inevitable enfrentarte a errores como URLs inexistentes o problemas de autenticación. Afortunadamente, urllib ofrece excepciones específicas para manejarlos.

  • Capturar errores HTTP: Usa HTTPError y URLError para manejar errores comunes:
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError

try:
req = Request('http://www.invalid-url.com')
with urlopen(req) as response:
print(response.read())
except HTTPError as e:
print(f'Error HTTP: {e.code}')
except URLError as e:
print(f'Error de conexión: {e.reason}')

Algunas funcionalidades presentes en import urllib

Si necesitas personalizar aún más tus solicitudes, urllib tiene herramientas con las que puedes hacerlo, a saber.

  • Uso de proxies: Configura proxies para tus solicitudes:
from urllib.request import ProxyHandler, build_opener, install_opener

proxy_support = ProxyHandler({'http': 'http://proxy.example.com:8080'})
opener = build_opener(proxy_support)
install_opener(opener)
  • Autenticación básica: Para manejar autenticaciones, utiliza HTTPBasicAuthHandler:
from urllib.request import HTTPBasicAuthHandler, build_opener, install_opener

auth_handler = HTTPBasicAuthHandler()
auth_handler.add_password(None, 'http://example.com', 'user', 'password')
opener = build_opener(auth_handler)
install_opener(opener)

Si te interesan estas temáticas y quieres seguir aprendiendo sobre ello, te invitamos a unirte a nuestro bootcamp en programación desde cero para que aun sin conocimientos aprendas los fundamentos más importantes de esta área y puedas conseguir tu primer empleo en el mundo tech. No dudes más y accede a mejores oportunidades laborales, ¡inscríbete ahora!

Noticias recientes del mundo tech

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Clases en Directo | Acceso a +600 empresas | 98,51% empleabilidad

Descárgate también el informe de tendencias en el mercado laboral 2026.

Fórmate con planes adaptados a tus objetivos y logra resultados en tiempo récord.
KeepCoding Bootcamps
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.