# General Nokogiri problem

**URL:** <https://www.ruby-forum.com/t/general-nokogiri-problem/167378>\
**Category:** Ruby\
**Created:** [May 7, 2009, 8:46am UTC](https://www.ruby-forum.com/t/general-nokogiri-problem/167378 "2009-05-07T08:46:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Srijayanth\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e95f7d/32.png) [@Srijayanth\_S](https://www.ruby-forum.com/u/Srijayanth_S)\
**Post date:** [May 7, 2009, 8:46am UTC](https://www.ruby-forum.com/t/general-nokogiri-problem/167378/1 "2009-05-07T08:46:15Z")

</div>

Hello,

On several sites(probably malformed HTML/JavaScript/XML/general parsing  
hell) I have the following problem.

For ex:

moonwolf@trantor:~/ruby$ irb  
irb(main):001:0\> [‘rubygems’,‘nokogiri’,‘hpricot’,‘open-uri’].each { |r|  
require r }  
=\> [“rubygems”, “nokogiri”, “hpricot”, “open-uri”]  
irb(main):002:0\> doc=Nokogiri(open(“[http://maps.google.com/](http://maps.google.com/)”))  
=\> \<?xml version="1.0"?\>

irb(main):003:0\> doc/“a”  
=\>

Same with Nokogiri.Hpricot:

irb(main):004:0\> doc=Nokogiri.Hpricot(open(“[http://maps.google.com/](http://maps.google.com/)”))  
=\> \<?xml version="1.0"?\>

However with regular Hpricot:

irb(main):009:0\> (Hpricot(open(“[http://maps.google.com/"))/"a](http://maps.google.com/%22))/%22a)”).size  
=\> 53  
(the full post of course is too long, so just showed something simpler)

Hpricot by itself of course works. I tried looking and there’s not much  
by  
way of documentation or blogs on something like this.

Any suggestions/explanations will be welcome as I like Nokogiri’s speed  
very  
much.

I am using:

moonwolf@trantor:~/ruby$ gem list --local | grep -i nokogiri  
nokogiri (1.2.3)  
moonwolf@trantor:~/ruby$ ruby --version  
ruby 1.8.6 (2008-03-03 patchlevel 114) [i686-linux]

Jayanth

---

<div class="post-metadata">

**Author:** ![Srijayanth\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e95f7d/32.png) [@Srijayanth\_S](https://www.ruby-forum.com/u/Srijayanth_S)\
**Post date:** [May 7, 2009, 9:03am UTC](https://www.ruby-forum.com/t/general-nokogiri-problem/167378/2 "2009-05-07T09:03:52Z")

</div>

On Thu, May 07, 2009 at 03:45:28PM +0900, Srijayanth S. wrote:

> =\> [“rubygems”, “nokogiri”, “hpricot”, “open-uri”]  
> irb(main):004:0\> doc=Nokogiri.Hpricot(open(“[http://maps.google.com/](http://maps.google.com/)”))
> 
> Hpricot by itself of course works. I tried looking and there’s not much by  
> way of documentation or blogs on something like this.
> 
> Any suggestions/explanations will be welcome as I like Nokogiri’s speed very  
> much.

Nokogiri detects the XML header and parses it as XML. If you force it  
to use the HTML parser, you may be more successfull:

> > (Nokogiri::HTML(open(“[http://maps.google.com/](http://maps.google.com/)”))/‘a’).length  
> > =\> 53

---

<div class="post-metadata">

**Author:** ![Srijayanth\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e95f7d/32.png) [@Srijayanth\_S](https://www.ruby-forum.com/u/Srijayanth_S)\
**Post date:** [May 7, 2009, 9:07am UTC](https://www.ruby-forum.com/t/general-nokogiri-problem/167378/3 "2009-05-07T09:07:59Z")

</div>

Thanks Aaron.

Jayanth

On Thu, May 7, 2009 at 12:32 PM, Aaron P.  
\<removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![Srijayanth\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e95f7d/32.png) [@Srijayanth\_S](https://www.ruby-forum.com/u/Srijayanth_S)\
**Post date:** [May 7, 2009, 9:09am UTC](https://www.ruby-forum.com/t/general-nokogiri-problem/167378/4 "2009-05-07T09:09:44Z")

</div>

Whoops,

irb(main):015:0\> (Nokogiri::HTML(open("[http://maps.google.com/](http://maps.google.com/)  
"))/‘a’).length  
=\> 0

Not sure what the deal is.

Jayanth
