【问题标题】:Image scraping in RubyRuby 中的图像抓取
【发布时间】:2012-02-15 21:27:58
【问题描述】:

如何使用 Nokogiri 抓取特定 URL 上的图像?如果有比 Nokogiri 更好的选择,请提出建议。 css图片标签为.profilePic img

【问题讨论】:

    标签: ruby screen-scraping nokogiri


    【解决方案1】:

    如果只是带有 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

    【讨论】:

      【解决方案2】:

      懒惰的方法是使用 mechanize,因为它会为你找出 url 和文件名:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多