Skip to main content

Parse url and get all the different parts out of it

Project description

Python URL Parser

PyPI - Format PyPI - Status Downloads PyPI - Python Version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

url_parser-3.0.2.tar.gz (78.2 kB view details)

Uploaded Source

Built Distribution

url_parser-3.0.2-py3-none-any.whl (77.9 kB view details)

Uploaded Python 3

File details

Details for the file url_parser-3.0.2.tar.gz.

File metadata

  • Download URL: url_parser-3.0.2.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

Hashes for url_parser-3.0.2.tar.gz
Algorithm Hash digest
SHA256 94fd5685435b1ee3a01ac354ad78a12ce9f1013b7ac3c08ed406421cebd40719
MD5 131a42c9fd68e06a36747e26c1d99a2e
BLAKE2b-256 16c984c34519709e2f15187971afec159aea746f7b8ee647b77bc58023bbfbbc

See more details on using hashes here.

File details

Details for the file url_parser-3.0.2-py3-none-any.whl.

File metadata

  • Download URL: url_parser-3.0.2-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

Hashes for url_parser-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1612fab6749e45b92098b1e66252cc910abd86f9d1c64d417384276156e350aa
MD5 657938f06911217b7d7aa07f01fe2aa5
BLAKE2b-256 3a1421efd8a17e44a4a79b5c09af7d7081650df845172f7e5e87e1181f6dc7c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page