Skip to main content

Python HTML/XML parser for easy web scraping.

Project description

https://badge.fury.io/py/pyDHTMLParser.png https://img.shields.io/pypi/dm/pyDHTMLParser.svg https://readthedocs.org/projects/pyDHTMLParser/badge/?version=latest https://img.shields.io/github/issues/Bystroushaak/pyDHTMLParser.svg https://img.shields.io/pypi/l/pyDHTMLParser.svg

What is it?

DHTMLParser is a lightweight HTML/XML parser created for one purpose - quick and easy picking selected tags from DOM.

It can be very useful when you are in need to write own “guerilla” API for some webpage, or a scrapper.

If you want, you can also create HTML/XML documents more easily than by joining strings.

Documentation

Full module documentation can be found here: http://pyDHTMLParser.rtfd.org

Changelog

2.2.0

  • Rewritten for compatibility with python3.

2.1.8

  • Fixed python 2 / 3 problem in docs/__init__.py.

  • getVersion() -> get_version().

2.1.7

  • Fixed some nasty unicode problems.

2.1.6

  • Added more tests.

  • Fixed #22; bug in the SpecialDict.

2.1.5

  • License changed to MIT.

  • Fixed #18: bug which in some cases caused invalid output.

  • Added HTMLElement.__repr__().

  • Added test_coverage.sh.

  • Added extended test_equality() coverage.

  • Formatting improvements.

  • Improved constructor handling, which is now much more readable.

  • Updated formatting of the setup.py.

2.1.4

  • Implemented first() getter.

2.1.3

  • .parseString() now doesn’t try to parse HTML element parameters.

2.1.2

  • Restored support of multiline attributes.

2.1.1

  • Fixed #16 - recovery after tags which don’t ends with > (</code for example).

  • Closed #17 - implementation of ignoring of < in usage as is smaller than sign.

2.1.0

  • State parser fixed - it can now recover from invalid html like <invalid tag=something">.

  • Rewritten to use StateEnum in parser for better readability.

  • Garbage collector is now disabled during _raw_split().

2.0.10

  • Added more tests of removeTags().

  • run_tests.sh now gets arguments.

  • Check for string in removeTags() changed to basestring from str.

2.0.6 - 2.0.9

  • Fixed behaviour of toString() and tagToString().

  • SpecialDict is now derived from OrderedDict.

  • Changed and added tests of .params attribute (OrderedDict is now used).

  • Fixed bug in _repair_tags().

  • Removed _repair_tags() - it wasn’t really necessary.

  • Fixed nasty bug which could cause invalid XML output.

2.0.1 - 2.0.5

  • Fixed bugs in .match().

  • Fixed broken links in documentation.

  • Fixed bugs in .isAlmostEqual().

  • .find(); Fixed bug which prevented tag_name to be None.

  • Added op .__eq__() to the SpecialDict.

  • Added new method .containsParamSubset() to HTMLElement.

2.0.0

  • Rewritten, refactored, splitted to multiple files.

  • Added unittest coverage of almost 100% of the code.

  • Added better selector methods (.wfind(), .match)

  • Added Sphinx documentation.

  • Fixed a lot of bugs.

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

pyDHTMLParser-2.2.0.tar.gz (422.5 kB view details)

Uploaded Source

File details

Details for the file pyDHTMLParser-2.2.0.tar.gz.

File metadata

File hashes

Hashes for pyDHTMLParser-2.2.0.tar.gz
Algorithm Hash digest
SHA256 beed7a0f8b90b5a53d66a9d55d5e812d0e63429b2f6b25e5f5e0dff2abf7b087
MD5 0a7cd8d0b6451684fa2eaace44a0ce7b
BLAKE2b-256 e17273781b925e2ae438ab4264184f18c2df2af5c489a6bcf492283c60cf079a

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