Efficient and simple HTML/XML parsing library


Version on this page:0.2.0@rev:1
LTS Haskell 8.24:0.2.0@rev:1
Stackage Nightly 2018-12-08:0.2.1
Latest on Hackage:0.2.1

See all snapshots taggy appears in

BSD-3-Clause licensed by Alp Mestanogullari, Vikram Verma
Maintained by [email protected]
This version can be pinned in stack with:taggy-0.2.0@sha256:0343ad030ba4e9fd651b383e92c213c6c4a6560ec33f561cfcfa9c5493deb50b,4827

taggy is a simple package for parsing HTML (and should work with XML) written on top of the attoparsec library, which makes it one of the most efficient (space and time consumption wise) on hackage.

This is the root module of taggy. It reexports everything from the package. See each module's docs for details about the functions and types involved in taggy.

While we've been testing the parser on many pages, it may still be a bit rough around the edges. Let us know on github if you have any problem.

If you like to look at your HTML through various optical instruments, feel free to take a look at the companion taggy-lens package we've put up together. It makes HTML parsing a piece of cake.

If you want to parse a document as list of tags and go through it as some kind of stream by just picking what you need, head to Text.Taggy.Parser and take a look at Text.Taggy.Parser.taggyWith and Text.Taggy.Parser.run.

If you want to parse the document as a DOM tree and traverse it to find the information you need, use Text.Taggy.DOM.parseDOM. This is especially useful when used in conjunction with taggy-lens.

If you build some HTML manually or just transform some existing DOM tree and want to turn it into a Data.Text.Lazy.Text head to Text.Taggy.Renderer and look at Text.Taggy.Renderer.render.