[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Net/HTTP get

Tim Mcd

2/4/2009 1:47:00 AM

doc = Hpricot(open("http://redhanded.hobix.com/index....))
images = (doc/"img")
count = 0

Net::HTTP.start("redhanded.hobix.com") do |http|
images.each do |img|
filename = img['src'].match(/([^\/]+\..+)/)
resp = http.get("#{img["src"]}")
open("#{filename[1]}", "w") do |file|
file.write(resp.body)
end
count += 1
end
end

So thats fairly simple, because images on _why's blog are stored as
such: redhanded.hobix.com/images/whatever.w/e

But how would I grab an image if it was, say, on slashdot.com?
(images.slashdot.com/image.jpg)

With my understanding, doing just an http.get("images.slashdot.etc.")
wouldn't work, because it bases it off of the .start? Any help is
appreciated!
--
Posted via http://www.ruby-....

1 Answer

Mark Thomas

2/4/2009 2:25:00 AM

0

On Feb 3, 8:47 pm, Tim Mcd <tmcdow...@gmail.com> wrote:
> doc = Hpricot(open("http://redhanded.hobix.com/index....))
> images = (doc/"img")
> count = 0
>
> Net::HTTP.start("redhanded.hobix.com") do |http|
>   images.each do |img|
>     filename = img['src'].match(/([^\/]+\..+)/)
>     resp = http.get("#{img["src"]}")

If it's a full URL then you just have to create a uri object:
http.get(URI.parse(img['src']))

- Mark.