The taggy package
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.
|Versions||0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.2.0|
|Dependencies||attoparsec (>=0.12), base (>=4.6 && <5), blaze-html (>=0.7), blaze-markup (>=0.6), taggy, text (>=1), unordered-containers (>=0.2), vector (>=0.7) [details]|
|Copyright||2014 Alp Mestanogullari, Vikram Verma|
|Author||Alp Mestanogullari, Vikram Verma|
|Uploaded||Tue Jun 23 16:39:46 UTC 2015 by AlpMestanogullari|
|Updated||Thu Jun 25 21:42:59 UTC 2015 by AdamBergmark to revision 1|
|Distributions||LTSHaskell:0.2.0, NixOS:0.2.0, Tumbleweed:0.2.0|
|Downloads||1352 total (21 in the last 30 days)|
|Status||Docs available [build log]
Last success reported on 2015-06-23 [all 1 reports]
For package maintainers and hackage trustees