Skip to main content

A simple HTML Parser

Project description

Haruka Parser

A simple HTML Parser

Install

pip install haruka-parser

Usage

from haruka_parser.extract import extract_text

html = """<!DOCTYPE html>
<html>
<body>
<!-- Using MathML -->
<p>Using MathJax:</p>
<script type="math/tex; mode=display" id="MathJax-Element-1">{e}^{i\pi }=-1</script>
<!-- Using MathML -->
<p>Using MathML:</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
  <msup>
    <mi>e</mi>
    <mrow>
      <mi>i</mi>
      <mi>&#x03C0;</mi>
    </mrow>
  </msup>
  <mo>=</mo>
  <mn>-1</mn>
</math>

<!-- Using AsciiMath -->
<p>Using AsciiMath:</p>
<script type="math/asciimath">
e^(i*pi) = -1
</script>

</body>
</html>"""

text, info = extract_text(html)
print(text)
print(info)

Configurations

from haruka_parser.extract import DEFAULT_CONFIG
DEFAULT_CONFIG = {
    "readability": False,
    "skip_large_links": False,
    "extract_latex": True,
    "extract_cnki_latex": False,
    "escape_dollars": True,
    "remove_buttons": True,
    "remove_edit_buttons": True,
    "remove_image_figures": True,
    "markdown_code": True,
    "markdown_headings": True,
    "remove_chinese": False,
    "boilerplate_config": {
        "enable": False,
        "ratio_threshold": 0.18,
        "absolute_threshold": 10,
        "end_threshold": 15,
    },
}

Parsing speed

10k Page:

method haruka-parser 0.5.2 haruku-parser 0.4.9 html2text inscriptis trafilatura
Speed 379.4s 391.6s 272.8s 114.7s 343.9s

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

haruka_parser-0.8.1.tar.gz (36.6 MB view details)

Uploaded Source

Built Distribution

haruka_parser-0.8.1-py3-none-any.whl (36.8 MB view details)

Uploaded Python 3

File details

Details for the file haruka_parser-0.8.1.tar.gz.

File metadata

  • Download URL: haruka_parser-0.8.1.tar.gz
  • Upload date:
  • Size: 36.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for haruka_parser-0.8.1.tar.gz
Algorithm Hash digest
SHA256 1379f1602a3bbac6f258e45dc6a9672d1528e964b4941a58f74aebcb5472ed10
MD5 0fa6b96ca45c1154c8d1ccc762abd99f
BLAKE2b-256 a7b7b8527b8ddd48daf30e4c16a65a7b6cc6edc2f44b004b7dfa0e84b5093a77

See more details on using hashes here.

File details

Details for the file haruka_parser-0.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for haruka_parser-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f84cfff43072f8bf2ba2225b3485ff003dd9371649eacfef6d9e7770ae207524
MD5 0da35b0f12ced4f7612819876190dfa0
BLAKE2b-256 bb0d92713bdb1ba7e370592a0f05e86bd4d89134925c819f31d5c25f4a291534

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