From: Josh Cheek Date: 2010-03-13T08:23:19+09:00 Subject: Re: Hpricot Relative Path --000e0cd1186a0922ab0481a2d149 Content-Type: text/plain; charset=ISO-8859-1 On Fri, Mar 12, 2010 at 3:54 PM, Ben Bleything wrote: > On Fri, Mar 12, 2010 at 1:22 PM, Josh Cheek wrote: > > The problem is that the path is relative. > > I've done a little googling, queried my ruby and rails ML archives, > glanced > > at hpricot code, and looked through the method lists for open-uri and > > hpricot. > > So far, I don't see anything that looks very useful. > > Is there a way to have it give me the absolute path so that I can > reference > > the picture later? > > Hpricot is just telling you what's in the HTML. Munging the > document's contents are your responsibility, not the parser's :) > > > The only thing I've found that works so far involves string manipulation, > > which seems like a brittle workaround to replace something that probably > > exists if I could just find it. > > Look into the URI library. > > require 'uri' > > uri = URI.parse( "http://yfrog.com/03gssacj" ) > uri.path = # your hpricot magic to get the image path goes here > > Ben > > Thanks, this is what I am using now: page = open url image_path = URI.parse page.base_uri.to_s.sub( %r(/$) , '' ) image_path.path = (Hpricot(page)%"#main_image").attributes['src'] image_path.to_s It still seems a little excessive, but it's a lot better than what I had before. --000e0cd1186a0922ab0481a2d149--