Skip to main content

urllib - URL Handling Modules

The urllib package is a collection of modules for working with URLs. It provides a high-level interface for fetching data across the world wide web.

🔍 Submodules

Core Modules

Additional Modules

Request Classes

🚀 Quick Reference

ModulePurposeKey Functions
urllib.requestHTTP requestsurlopen(), urlretrieve()
urllib.parseURL parsingurlparse(), urljoin(), quote()
urllib.errorError handlingURLError, HTTPError
urllib.robotparserRobots.txtRobotFileParser

🌐 Basic Usage

import urllib.request
import urllib.parse

# Simple GET request
response = urllib.request.urlopen('https://api.example.com/data')
data = response.read()

# Parse URL
parsed = urllib.parse.urlparse('https://example.com/path?query=value')
print(parsed.scheme, parsed.netloc, parsed.path)

# Encode URL parameters
params = urllib.parse.urlencode({'key': 'value', 'foo': 'bar'})

💡 Alternatives

For more advanced HTTP operations, consider:

  • requests - Third-party library with a more user-friendly API
  • httpx - Modern async-capable HTTP client
  • aiohttp - Async HTTP client/server framework