[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Search string in HTML file

Jean Verger

9/22/2006 11:10:00 AM

Hi,
I'm looking the way of searching an string in a HTML file given the URL.

The parameter will be "<span>value</span>" ... it has to be that
format, exactly.

I'm trying with Hpricot (http://code.whytheluckystiff.n...)
which is very powerfull ... but it searches for elements, so i only
can pass the value of the SPAN .. no the whole string.

anyway of searching for an string in a html file given the URL?

thanks,

Jean

8 Answers

Jano Svitok

9/22/2006 11:27:00 AM

0

On 9/22/06, Jean Verger <jean.verger@gmail.com> wrote:
> Hi,
> I'm looking the way of searching an string in a HTML file given the URL.
>
> The parameter will be "<span>value</span>" ... it has to be that
> format, exactly.
>
> I'm trying with Hpricot (http://code.whytheluckystiff.n...)
> which is very powerfull ... but it searches for elements, so i only
> can pass the value of the SPAN .. no the whole string.
>
> anyway of searching for an string in a html file given the URL?
>
> thanks,
>
> Jean

Will this do it? (I have not run it, so there may be errors.)

require 'open-uri'

uri = URI.parse('http://whatever')
data = uri.read
data.scan('<sub>whatever</sub>')

Stephane Elie

9/22/2006 1:16:00 PM

0

Hi Jean,

Here is my version of it:

require 'open-uri'

# this returns true if the string is found
open('http://whatever').find { |line| line.match('<span>value</span>') }
!= nil

--
Posted via http://www.ruby-....

Jean Verger

9/26/2006 3:46:00 AM

0

thanks ... simple and efficient :) it works

thanks,

Jean

On 9/22/06, Stephane Elie <stephane.elie@gmail.com> wrote:
> Hi Jean,
>
> Here is my version of it:
>
> require 'open-uri'
>
> # this returns true if the string is found
> open('http://whatever').find { |line| line.match('<span>value</span>') }
> != nil
>
> --
> Posted via http://www.ruby-....
>
>

Madu Nar

9/28/2006 12:36:00 AM

0

Jean Verger wrote:
> thanks ... simple and efficient :) it works
>
> thanks,
>
> Jean

Hello there,
I am a newbie to Ruby and Watir.
Currently, me trying to extract a parameter from the html page. But the
Value I am trying to extract keeps changing and depends on the input.
Here is the piece of code I tried which did not work...

require 'open-uri'
require'watir'
require 'fileutils'
require 'net/http'

d_term = "Banks"

url1 = Whatever...
MT = 'Search '+'<b>'+d_term.chomp+'</b>'
open(url1).find {|line|
if line.match(MT)
foo = File.open("c://abc.txt", "a+")
foo.puts ("Found: " + line)
foo.close()
end

Any help greatly appreciated.

Thanks,
Madu

--
Posted via http://www.ruby-....

Jean Verger

9/28/2006 2:26:00 AM

0

mmm something like this?

url1 = Whatever...
MT = 'Search '+'<b>'+d_term.chomp+'</b>'
if (open(url1).find { |line| line.match(MT) } != nil)
foo = File.open("c://abc.txt", "a+")
foo.puts ("Found: " + line)
foo.close()
end

On 9/28/06, Madu Nar <bharadwaj.n@gmail.com> wrote:
> Jean Verger wrote:
> > thanks ... simple and efficient :) it works
> >
> > thanks,
> >
> > Jean
>
> Hello there,
> I am a newbie to Ruby and Watir.
> Currently, me trying to extract a parameter from the html page. But the
> Value I am trying to extract keeps changing and depends on the input.
> Here is the piece of code I tried which did not work...
>
> require 'open-uri'
> require'watir'
> require 'fileutils'
> require 'net/http'
>
> d_term = "Banks"
>
> url1 = Whatever...
> MT = 'Search '+'<b>'+d_term.chomp+'</b>'
> open(url1).find {|line|
> if line.match(MT)
> foo = File.open("c://abc.txt", "a+")
> foo.puts ("Found: " + line)
> foo.close()
> end
>
> Any help greatly appreciated.
>
> Thanks,
> Madu
>
> --
> Posted via http://www.ruby-....
>
>

Madu Nar

9/28/2006 6:05:00 AM

0

Jean Verger wrote:
> mmm something like this?
>
> url1 = Whatever...
> MT = 'Search '+'<b>'+d_term.chomp+'</b>'
> if (open(url1).find { |line| line.match(MT) } != nil)
> foo = File.open("c://abc.txt", "a+")
> foo.puts ("Found: " + line)
> foo.close()
> end



Hello Jean,

On execution the program gives me the following errors...

frame error in wait document
OLE error code:8007005 in <unknown>
Access is denied

HRESULT error code:0x8002009
Exception Occured

Me not sure how to get rid of this. It works till opening the requested
page but finding and writing part does not seem to work...
any more suggestions?

Thanks again,
Madu

--
Posted via http://www.ruby-....

Jean Verger

9/29/2006 10:05:00 AM

0

dont know those errors ..., you can troubleshoot ...
make sure that "open(url1)" it is not givin you an error .. If that
line is giving you an error, it means the web site doesn't exist or
you are including the open-uri code ( include 'open-uri.rb (i believe
is the line) :)

regards,

Jean

On 9/28/06, Madu Nar <bharadwaj.n@gmail.com> wrote:
> Jean Verger wrote:
> > mmm something like this?
> >
> > url1 = Whatever...
> > MT = 'Search '+'<b>'+d_term.chomp+'</b>'
> > if (open(url1).find { |line| line.match(MT) } != nil)
> > foo = File.open("c://abc.txt", "a+")
> > foo.puts ("Found: " + line)
> > foo.close()
> > end
>
>
>
> Hello Jean,
>
> On execution the program gives me the following errors...
>
> frame error in wait document
> OLE error code:8007005 in <unknown>
> Access is denied
>
> HRESULT error code:0x8002009
> Exception Occured
>
> Me not sure how to get rid of this. It works till opening the requested
> page but finding and writing part does not seem to work...
> any more suggestions?
>
> Thanks again,
> Madu
>
> --
> Posted via http://www.ruby-....
>
>

Stephane Elie

9/29/2006 12:32:00 PM

0


> require 'open-uri'
> require'watir'
> require 'fileutils'
> require 'net/http'

Madu,

The error you have is coming out of Watir which unfortunately I have no
experience with.

For the code sample you posted, you only need to include open-uri.

watir, fileutils and net/http are unused by your code sample.

As Jean proposed, I suggest you debug your application by breaking it in
smaller pieces.

Stephane

--
Posted via http://www.ruby-....