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.7.0.tar.gz (37.5 MB view details)

Uploaded Source

Built Distribution

haruka_parser-0.7.0-py3-none-any.whl (37.6 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for haruka_parser-0.7.0.tar.gz
Algorithm Hash digest
SHA256 cc02820a8b0080eca433e68616ca911edbee73f63d95c9cec4f8e165c40e0dae
MD5 a964c82e2101a8243d72c08aebc6e91c
BLAKE2b-256 45d80a9d313b9a4678606a8ccb31beb7c900b08b21e94777089bac52f47fc444

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for haruka_parser-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a885145d9653b78d386bcb165ebcc699562ee543932cba29d4a9fadf1bed383d
MD5 44c91b1eca13dd888ef772205702ba3f
BLAKE2b-256 29f41afe7d7f726bddd8b9c9ca32140920051b69c95bdd7bad4157b7498f8666

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