# Html parses

**URL:** <https://www.ruby-forum.com/t/html-parses/96591>\
**Category:** Ruby\
**Created:** [December 8, 2005, 7:24pm UTC](https://www.ruby-forum.com/t/html-parses/96591 "2005-12-08T19:24:30Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![marciorf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a587f6/32.png) [@marciorf](https://www.ruby-forum.com/u/marciorf)\
**Post date:** [December 8, 2005, 7:24pm UTC](https://www.ruby-forum.com/t/html-parses/96591/1 "2005-12-08T19:24:30Z")

</div>

Hello

Does anyone knows about an html parser in ruby?  
One that separate all tags…

thx

---

<div class="post-metadata">

**Author:** ![marciorf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a587f6/32.png) [@marciorf](https://www.ruby-forum.com/u/marciorf)\
**Post date:** [December 8, 2005, 8:24pm UTC](https://www.ruby-forum.com/t/html-parses/96591/2 "2005-12-08T20:24:26Z")

</div>

On Dec 8, 2005, at 12:24 PM, Marcio Francisco wrote:

> Hello
> 
> Does anyone knows about an html parser in ruby?  
> One that separate all tags…

Sure. Here’s one possibility:

> **[Rubyful Soup: "The brush has got entangled in it!"](https://www.crummy.com/software/RubyfulSoup/)**
>
> Rubyful Soup: an HTML parser for Ruby, optimized for screen-scraping.

James Edward G. II

---

<div class="post-metadata">

**Author:** ![marciorf](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a587f6/32.png) [@marciorf](https://www.ruby-forum.com/u/marciorf)\
**Post date:** [December 8, 2005, 8:45pm UTC](https://www.ruby-forum.com/t/html-parses/96591/3 "2005-12-08T20:45:15Z")

</div>

Marcio Francisco wrote:

> Hello
> 
> Does anyone knows about an html parser in ruby?  
> One that separate all tags…
> 
> thx
> 
> –  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

I’m time trialling python and ruby parser right now, so I’m going to  
spew you a list of links for:

html-parser-2  
htree  
ymHTML module  
htmltools: requires patched html-parser (gem)

rubyful soup:  
WWW::Mechanize # built on htmltools, xmltree,  
htmltokenizer: handles mismatched tags (gem)

REXML: Tree & stream parsing  
(Yeah, that’s a lot of libs)

Here’s the spew:

[http://raa.ruby-lang.org/project/html-parser-2/](http://raa.ruby-lang.org/project/html-parser-2/)

> **[Substring Operations in Python: Slicing, Subset, Reverse, Split, Replace](https://diveintopython.org/learn/variables/string/substring)**
>
> Learn how to slice, subset, reverse, split, replace, and count substrings in Python strings. Improve your string manipulation skills now!

[http://cvs.m17n.org/~akr/htree/](http://cvs.m17n.org/~akr/htree/)

[http://www.yoshidam.net/Ruby.html#ymHTML](http://www.yoshidam.net/Ruby.html#ymHTML)

[http://ruby-htmltools.rubyforge.org/](http://ruby-htmltools.rubyforge.org/)  
[http://ruby-htmltools.rubyforge.org/doc/](http://ruby-htmltools.rubyforge.org/doc/)  
[http://bike-nomad.com/ruby/](http://bike-nomad.com/ruby/)

[http://rubyforge.org/projects/wee/](http://rubyforge.org/projects/wee/)

> **[How I Did It: Building RubyStuff.com](https://neurogami.com/cafe-fetcher/)**
>
> A microformat that eases the transition from page to print with CSS and HTML

[http://rubyforge.org/projects/htmltokenizer/](http://rubyforge.org/projects/htmltokenizer/)

[http://www.germane-software.com/software/rexml/](http://www.germane-software.com/software/rexml/)
