# HTML Parsing libraries

**URL:** <https://www.ruby-forum.com/t/html-parsing-libraries/95526>\
**Category:** Rails\
**Created:** [June 5, 2006, 11:25am UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526 "2006-06-05T11:25:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 11:25am UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/1 "2006-06-05T11:25:54Z")

</div>

Hi,

What is the best way to parse HTML?

Or is there a simple way to convert a table to an array?

I tried beautiful\_soup and the built-in htmltools, but have trouble  
getting them to run.

Any pointers?

Thanks, Hari

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 11:36am UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/2 "2006-06-05T11:36:35Z")

</div>

My experience with Ruby’s html parsing tools are that they are  
generally badly documented and buggy. I have had more success piping  
the html I need parsed to a Perl program that uses Perl’s much, much  
better html libraries and then reading back the output into my Ruby  
program.

It’s ugly, but it works.

Check out [search.cpan.org](http://search.cpan.org) to see what perl classes are available.

-Scott

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 11:39am UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/3 "2006-06-05T11:39:46Z")

</div>

I used html-tools:  
[http://rubyforge.org/projects/ruby-htmltools/](http://rubyforge.org/projects/ruby-htmltools/)  
and found it pretty simple to use but powerfull html parser library.

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 12:13pm UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/4 "2006-06-05T12:13:28Z")

</div>

* * *

Rails mailing list  
removed\_email\_address@domain.invalid  
[http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 11:42am UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/5 "2006-06-05T11:42:35Z")

</div>

Igor A. wrote:

> I used html-tools:  
> [http://rubyforge.org/projects/ruby-htmltools/](http://rubyforge.org/projects/ruby-htmltools/)  
> and found it pretty simple to use but powerfull html parser library.

Thanks Scott for your reply. I am looking for a simple ruby solution as  
the page I am trying to parse has only few tables in it.

Igor, I tried to get the html-tools to run but couldn’t succeed ☹ I  
tried to run the ebaysearch.rb demo program and couldn’t run it either.

I am using Ruby 1.8 with RoR 1.1.

Where you able to use the html-tools? Can you share a simple/sample  
code?

Thanks, Hari

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 7:00pm UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/6 "2006-06-05T19:00:25Z")

</div>

BeautifulSoup has been ported to ruby as RubyfulSoup.  
[Rubyful Soup: "The brush has got entangled in it!"](http://www.crummy.com/software/RubyfulSoup/)

it really works wonders when one must screen-scrape.

cheers,  
jean-pierre

---

<div class="post-metadata">

**Author:** ![hariraj](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/4491bb/32.png) [@hariraj](https://www.ruby-forum.com/u/hariraj)\
**Post date:** [June 5, 2006, 3:25pm UTC](https://www.ruby-forum.com/t/html-parsing-libraries/95526/7 "2006-06-05T15:25:27Z")

</div>

Igor A. wrote:

> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

Hi Igor,

Have you quoted/attached something? I don’t see it.

Thanks, Hari
