Hi everybody! I`m sorry for asking a silly question .. i hope you`ll
find some time to assist
while searching shrough html body i get the string :
<td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF'
width=624 height=280 border=0 align=absmiddle
usemap=#imIY_6NvJ_kj7s></td>
how can i modify it to get just a plain link without tags and params? :
https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF
···
--
Posted via http://www.ruby-forum.com/.
Vlad Smith wrote:
Hi everybody! I`m sorry for asking a silly question .. i hope you`ll
find some time to assist
while searching shrough html body i get the string :
<td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF'
width=624 height=280 border=0 align=absmiddle
usemap=#imIY_6NvJ_kj7s></td>
how can i modify it to get just a plain link without tags and params? :
https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF
You'll have to expand this to take care of all possible scenarios, but
here's an example:
x = "<img src=\"http://some_url_to_scrape">"
y = x.scan(/src=\"([\S\s]+?)\"/)
That will return an array, and you'll have to fish the string out of the
array with y[0][0].
That works specifically with proper HTML using double quotes where your
examples above used malformed single quotes, but you can either use
multple expressions, or build a more complex one to cover the various
cases of quotes href, src, and other attributes names, etc.
There's other ways to do it, this is just a small example to give you
some ideas.
-- gw
···
--
Posted via http://www.ruby-forum.com/\.
Greg Willits wrote:
Vlad Smith wrote:
Hi everybody! I`m sorry for asking a silly question .. i hope you`ll
find some time to assist
while searching shrough html body i get the string :
<td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF'
width=624 height=280 border=0 align=absmiddle
usemap=#imIY_6NvJ_kj7s></td>
how can i modify it to get just a plain link without tags and params? :
https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF
You'll have to expand this to take care of all possible scenarios, but
here's an example:
x = "<img src=\"http://some_url_to_scrape">"
y = x.scan(/src=\"([\S\s]+?)\"/)
That will return an array, and you'll have to fish the string out of the
array with y[0][0].
That works specifically with proper HTML using double quotes where your
examples above used malformed single quotes, but you can either use
multple expressions, or build a more complex one to cover the various
cases of quotes href, src, and other attributes names, etc.
There's other ways to do it, this is just a small example to give you
some ideas.
-- gw
Thanks! that worked!
i also accidently noticed a great feature taken from perl that worked
also:
x = <td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s
s=www461.sj2&type=GIF’width=624 height=280 border=0
align=absmiddleusemap=#imIY_6NvJ_kj7s></td>
x = $1 if x =~ /.*(https.*GIF).*/
···
--
Posted via http://www.ruby-forum.com/\.
Please don't do this. Every time you parse HTML with a regular
expression, a kitten dies.
Instead, try using an HTML parsing library:
x = <<-eohtml
<td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7ss=www461.sj2&type=GIF’width=624 height=280 border=0
align=absmiddleusemap=#imIY_6NvJ_kj7s></td>
eohtml
puts Nokogiri::HTML(x).at('img')['src']
···
On Thu, Jul 02, 2009 at 05:29:04AM +0900, Vlad Smith wrote:
Greg Willits wrote:
> Vlad Smith wrote:
>> Hi everybody! I`m sorry for asking a silly question .. i hope you`ll
>> find some time to assist
>>
>> while searching shrough html body i get the string :
>> <td class=blk11 ><img
>> src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF'
>> width=624 height=280 border=0 align=absmiddle
>> usemap=#imIY_6NvJ_kj7s></td>
>>
>> how can i modify it to get just a plain link without tags and params? :
>> https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s&s=www461.sj2&type=GIF
>
> You'll have to expand this to take care of all possible scenarios, but
> here's an example:
>
> x = "<img src=\"http://some_url_to_scrape">"
> y = x.scan(/src=\"([\S\s]+?)\"/)
>
> That will return an array, and you'll have to fish the string out of the
> array with y[0][0].
>
> That works specifically with proper HTML using double quotes where your
> examples above used malformed single quotes, but you can either use
> multple expressions, or build a more complex one to cover the various
> cases of quotes href, src, and other attributes names, etc.
>
> There's other ways to do it, this is just a small example to give you
> some ideas.
>
> -- gw
Thanks! that worked!
i also accidently noticed a great feature taken from perl that worked
also:
x = <td class=blk11 ><img
src='https://sc.omniture.com/sc13_5/reports/chart.php?id=CPRIY_6NvJ_kj7s
s=www461.sj2&type=GIF’width=624 height=280 border=0
align=absmiddleusemap=#imIY_6NvJ_kj7s></td>
x = $1 if x =~ /.*(https.*GIF).*/
--
Aaron Patterson
http://tenderlovemaking.com/