Соскоб изображения в Ruby - PullRequest
3 голосов
/ 22 января 2012

Как очистить изображение, присутствующее на определенном URL, с помощью Nokogiri? Если есть варианты лучше, чем Нокогири, пожалуйста, предложите. Тег изображения css .profilePic img

Ответы [ 2 ]

9 голосов
/ 22 января 2012

Если это просто <img> с URL:

PAGE = "http://site.com/page.html"
require 'nokogiri'
require 'open-uri'
html = Nokogiri.HTML(open(PAGE))
src  = html.at('.profilePic img')['src']
File.open("foo.png", "wb") do |f|
  f.write(open(src).read)
end

Если вам нужно превратить относительный путь к изображению в абсолют, см .:
https://stackoverflow.com/a/4864170/405017

2 голосов
/ 22 января 2012

Ленивый способ состоит в том, чтобы использовать mechanize, поскольку он определит URL-адреса и имена файлов для вас:

require 'mechanize'
agent = Mechanize.new
doc = agent.get(url)
agent.get(doc.parser.at('.profilePic img')['src']).save
...