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

Uploaded Source

Built Distribution

haruka_parser-0.7.3-py3-none-any.whl (37.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: haruka_parser-0.7.3.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.3.tar.gz
Algorithm Hash digest
SHA256 4b23478dd2885faf3439803a96fced1fb85105ddd0cdfe47f81711d823911e1f
MD5 63c9e87f9eb7168a55b519033354e5c3
BLAKE2b-256 26d99d94a35b9a3d69da510c444e8f93371cc63a6275605d18cf951953306e77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for haruka_parser-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 44448e8b66ad97ba5d2477c00b582cac9308dde8f0fa7e87bd5a8bc3fc7447d6
MD5 d04fa91f4578014770d9c296ad02a1bb
BLAKE2b-256 a508b44786c467c8fb6af1becabf866ca55782ac22265c16722914684f5e8a87

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