Parse url and get all the different parts out of it
Project description
Python URL Parser
A nice package to help you parse all types of URL's in vanilla python and return the parsed URL in groups.
To not brake the API parse_url (returns a dict) still works and we made get_url to get the url parts as as object instead.
In version 2.1 we also included get_basic_url a small yet neat function to get a the main url back from a string
Installation
pip install url-parser
Usage
from url_parser import parse_url, get_url, get_base_url
url = parse_url('https://open.prospecta.app/my_user_login?user=url-parser&password=H3ll0') # returns url sections as a dict
url_object = get_url('https://open.prospecta.app/my_user_login?user=url-parser&password=H3ll0') # Does the same, bur returns a object
basic_url = get_base_url('https://open.prospecta.app/my_user_login?user=url-parser&password=H3ll0') # Returns just the main url
print(url['domain']) # Outputs -> prospecta
print(url_object.domain) # Outputs -> prospecta
print(basic_url) # Outputs -> https://open.prospecta.app
Keywords get_url and parse_url
When using the parse_url and get_url function, you get a dict (parse_url) or object (get_url) back with different parts of the URL.
The different parts can be accessed by keywords:
For parse_url use: result['top_domain]
For get_url use: result.top_domain
Here is a list of all the available keywords:
| Keyword | Desription | Value when not present in URL |
|---|---|---|
| protocol | The protocol, e.g. https or ftp | None |
| www | Returns www if www is used in the URL | None |
| sub_domain | The sub domain, e.g. my.subdomain in my.subdomain.example.com. Note that the sub domain also includes www. | None |
| domain | The domain, e.g. example in example.com | Is always present |
| top_domain | The domain, e.g. com in example.com | Is always present |
| dir | The directory, e.g. /my/directory/ in example.com/my/directory/ | None |
| file | The file, e.g. my_file.js in example.com/home/my_file.js | None |
| path | The full path, e.g. /home/my_file.js in example.com/home/my_file.js | None |
| fragment | The URL fragment, e.g. my_link in example.com#my_link | None |
| query | The URL query, e.g. my_parameter=1&foo=bar in example.com?my_parameter=1&foo=bar | None |
Testing
Use the following command to run tests.
python -m unittest url_parser.tests.test_url_parser
Changelog:
See CHANGELOG.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file url_parser-3.0.3.tar.gz.
File metadata
- Download URL: url_parser-3.0.3.tar.gz
- Upload date:
- Size: 78.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
402ffca6459e272fe91985a7d5f143731cb80236a3ff59322c0aa4cb8b97b0d2
|
|
| MD5 |
f029e81cac25d60913ff89e3fb51cbb8
|
|
| BLAKE2b-256 |
7f96e75d719350fbbbba3fbc7b85f6d960c06367f7201a256bab7f0b4fa966bc
|
File details
Details for the file url_parser-3.0.3-py3-none-any.whl.
File metadata
- Download URL: url_parser-3.0.3-py3-none-any.whl
- Upload date:
- Size: 77.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0eaec4f935297b72ffffc2fe2baabd4f6a469189b7b56446e7243b0bc371a963
|
|
| MD5 |
8d72f3fda857349150eafe88afe13711
|
|
| BLAKE2b-256 |
7d3fbdc0f4b789f7f9d893bca5bfb80579c4d4e80c19f28d39e4a8fbeb9344a1
|