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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: haruka_parser-0.7.1.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.1.tar.gz
Algorithm Hash digest
SHA256 fb0d28a170165c79c638bc1ba1a2b98c13770d9690924f868fd97039092a0df0
MD5 b7a5bf3542e8ee452e22040c9751e717
BLAKE2b-256 3bd3bb5b37a8bc72ccca0ab18b5c59aa377a6246f6f281b2f1e1c822be6a7edd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for haruka_parser-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ecaca53002ef1252fce620b546cb4407ed91a56f8a8d8b75ea400c0f6c8ecaad
MD5 ed4836457b82201b6c31907749951327
BLAKE2b-256 140cdf7229947f543d0cfdc3dc033f280b2070160f4a7625d39328ba83777b61

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