From: Srijayanth Sridhar Date: 2009-05-07T16:08:14+09:00 Subject: Re: General Nokogiri problem --000e0cd2e57ceca62d04694d2ab1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Whoops, irb(main):015:0> (Nokogiri::HTML(open("http://maps.google.com/ "))/'a').length => 0 Not sure what the deal is. Jayanth On Thu, May 7, 2009 at 12:35 PM, Srijayanth Sridhar wrote: > Thanks Aaron. > > Jayanth > > > On Thu, May 7, 2009 at 12:32 PM, Aaron Patterson < > aaron@tenderlovemaking.com> wrote: > >> On Thu, May 07, 2009 at 03:45:28PM +0900, Srijayanth Sridhar wrote: >> > 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/")) >> > => >> > >> > >> > >> > irb(main):003:0> doc/"a" >> > => >> > >> > Same with Nokogiri.Hpricot: >> > >> > irb(main):004:0> doc=Nokogiri.Hpricot(open("http://maps.google.com/")) >> > => >> > >> > >> > >> > However with regular Hpricot: >> > >> > irb(main):009:0> (Hpricot(open("http://maps.google.com/"))/"a").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. >> >> 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/"))/'a').length >> => 53 >> >> >> >> -- >> Aaron Patterson >> http://tenderlovemaking.com/ >> >> > --000e0cd2e57ceca62d04694d2ab1--