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
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 |