【发布时间】:2012-02-15 21:27:58
【问题描述】:
如何使用 Nokogiri 抓取特定 URL 上的图像?如果有比 Nokogiri 更好的选择,请提出建议。 css图片标签为.profilePic img
【问题讨论】:
标签: ruby screen-scraping nokogiri
如何使用 Nokogiri 抓取特定 URL 上的图像?如果有比 Nokogiri 更好的选择,请提出建议。 css图片标签为.profilePic img
【问题讨论】:
标签: ruby screen-scraping nokogiri
如果只是带有 URL 的 <img>:
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
【讨论】:
懒惰的方法是使用 mechanize,因为它会为你找出 url 和文件名:
require 'mechanize'
agent = Mechanize.new
doc = agent.get(url)
agent.get(doc.parser.at('.profilePic img')['src']).save
【讨论】: