Skip to main content

Make every effort to properly decode HTML, because HTML is unicode, dammit!

Project description

Latest Version Build & Tests Status Test Coverage License: MIT

Make every effort to properly decode HTML, because HTML is unicode, dammit!

Features

  • Very easy to use with integrations for requests and urlopen().

  • Utilizes information from HTTP headers, inline encoding declarations, and UTF BOM-s (Byte Order Marks), as well as falling back to making a best guess based on the raw data.

  • Improves upon BeautifulSoup’s great UnicodeDammit utility.

Installation

pip install htmldammit

Additionally, it is highly recommended to install the cchardet and/or the chardet libraries. This will enable the fallback to guessing the encoding based on the raw data.

pip install cchardet chardet

Basic usage

To decode any binary HTML content into unicode (passing HTTP headers is optional):

from htmldammit import decode_html
html = decode_html(raw_html, http_headers)

To get unicode HTML from a requests response:

from htmldammit.integrations.requests import get_response_html
response = requests.get('http://www.example.org/')
html = get_response_html(response)

To get unicode HTML from a urlopen() response:

from htmldammit.integrations.urllib import get_response_html
response = urlopen('http://www.example.org/')
html = get_response_html(response)

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

htmldammit-0.1.1.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

htmldammit-0.1.1-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file htmldammit-0.1.1.tar.gz.

File metadata

  • Download URL: htmldammit-0.1.1.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for htmldammit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f90df0fa93fc2c7898be2512ce466a0400f23741e128f61ac7c63f94c4316c21
MD5 bc2f0ddd6378375e49b72dd3d0af7556
BLAKE2b-256 3e0433da2e7a32eb3d0cf00db530d1ce737dfdfe8d28678960876d7ecc18a6c5

See more details on using hashes here.

File details

Details for the file htmldammit-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for htmldammit-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e0d0e7defdb3eb753c5056ca16128c5ec0775b131ddf2b40b6d7e86f426f63b6
MD5 86ed78894219f083d16496cb4bd76f4e
BLAKE2b-256 9bb492f2301a16e9db56f6022981d862e9e2719a44c17d8948735257ea881569

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