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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: haruka_parser-0.9.0.tar.gz
  • Upload date:
  • Size: 36.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for haruka_parser-0.9.0.tar.gz
Algorithm Hash digest
SHA256 c39a5f575429e4d185532c4c36b207937e5609eb19e0fca2b58c3c13742e0d42
MD5 9918c3f2dc31bd898481daa9d308476e
BLAKE2b-256 9a0c5be039d9fa313efad67fd9b045473bbf6fdd46da5beb52faa41f147ee456

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for haruka_parser-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 320048e8aff93317ca973b74a0461e3dfba4ee71e717c033f7dc873db3ed05c2
MD5 99ef6571769cebe29d024cbff10d4855
BLAKE2b-256 5574779486701bb8a902dc5a0a3fb37ef24c81e479379eaed24b74c1ee5046c7

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