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

Uploaded Source

Built Distribution

haruka_parser-0.6.1-py3-none-any.whl (6.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: haruka_parser-0.6.1.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for haruka_parser-0.6.1.tar.gz
Algorithm Hash digest
SHA256 2b10b7c3283db6176c60ce1d502490319e70c513de360a45fe117e89c97bac73
MD5 f43bbd28f85cdadcb206b5429dd7b121
BLAKE2b-256 d9e2fe9fce800f57c385cdcdce0a655d89319ca807b6ea8465404cbdbf63ec05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for haruka_parser-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3e83b57bcb10f430858cf40f69b660a26aa88e4ff1345d32a244bde52d69e33
MD5 03d8bc68db2361cbe816e35f28b57324
BLAKE2b-256 10c8013f181c4a553e880667d01492884af33430f7af23e671fd6e5380f4c177

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