From: Feng Tien Date: 2008-05-14T15:01:54+09:00 Subject: Re: hpricot and regexp? Feng Tien wrote: > Feng Tien wrote: >> I'm trying to grab the "cache date" off of the google search. >> >> using Mechanize (and built in hpricot) >> >> >> agent = WWW::Mechanize.new >> agent.user_agent_alias = 'Mac Safari' >> page = agent.get("http://www.google.com/") >> search_form = page.forms.with.name("f").first >> search_form.q = "Hello" >> search_results = agent.submit(search_form) >> cache_date = agent.click search_results.links.text('Cached') >> >> date = cache_date.search('table table > td').inner_html >> >> >> How do i grab the date like on this page: >> http://209.85.173.104/search?q=cache%3Ashacknews.com&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a >> >> the part that's right after "as retrieved on" (the date) >> Is there a built in hpricot method that can search by rexep? >> or will I have to use something like gsub? > > > oops, I mean, grep. > > oh, i got it down to this: > > date = cache_date.search('table table > td').inner_text.grep(/retrieved > on (.+)./) > > > which outputs:["This is G o o g l e's cache of http://www.hello.com/ as > retrieved on May 11, 2008 01:09:29 GMT.\n"] > > How do I get rid of everything before the date? Now I have this: date = cache_date.search('table table > td').inner_text.grep(/retrieved on (.+)./).to_s.gsub(/.+as retrieved on /,"").gsub(/.\n/,"") which gives me exactly what i need. is there a better way to doing this? -- Posted via http://www.ruby-forum.com/.