25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
### Задача 3. Анализатор URL (Строки, Словари, Функции)
|
|
|
|
Напишите программу из 3 функций для парсинга URL:
|
|
|
|
1. `parse_url(url)` — принимает строку URL вида `"https://example.com/path?key1=value1&key2=value2"`. Разбирает URL на части и возвращает словарь:
|
|
```python
|
|
{
|
|
"protocol": "https",
|
|
"domain": "example.com",
|
|
"path": "/path",
|
|
"params": {"key1": "value1", "key2": "value2"}
|
|
}
|
|
```
|
|
Если параметров нет, `params` должен быть пустым словарем.
|
|
|
|
2. `get_param(parsed_url, key, default=None)` — принимает результат `parse_url` и возвращает значение параметра по ключу `key`. Если параметра нет, возвращает `default`.
|
|
|
|
3. `format_url(parsed_url)` — принимает словарь из `parse_url` и собирает обратно строку URL.
|
|
|
|
**Тесты:**
|
|
|
|
1. Распарсите URL: `"https://api.github.com/search?q=python&sort=stars"`
|
|
2. Получите значение параметра `q`
|
|
3. Соберите URL обратно и сравните с оригиналом
|