Css 使用Nokogiri保存图像
我使用下面的代码从网页中获取特定的图像。这个页面上有多个带有图像标签的图像,那么这段代码是如何解释的呢?我注意到它只保存带有图像标签的第一张图像。一般来说这是真的吗 我的推理正确吗?这段代码开始从上到下读取css,一旦找到带有图像标记的第一个图像,它就会保存它并停止进一步查看?因为我需要它来做到这一点Css 使用Nokogiri保存图像,css,ruby,image,nokogiri,Css,Ruby,Image,Nokogiri,我使用下面的代码从网页中获取特定的图像。这个页面上有多个带有图像标签的图像,那么这段代码是如何解释的呢?我注意到它只保存带有图像标签的第一张图像。一般来说这是真的吗 我的推理正确吗?这段代码开始从上到下读取css,一旦找到带有图像标记的第一个图像,它就会保存它并停止进一步查看?因为我需要它来做到这一点 PAGE = "http://example.com/page.html" require 'nokogiri' require 'open-uri' html = Nokogiri.HTML(o
PAGE = "http://example.com/page.html"
require 'nokogiri'
require 'open-uri'
html = Nokogiri.HTML(open(PAGE))
src = html.at('.image')['src']
File.open("foo.png", "wb") do |f|
f.write(open(src).read)
end
对
仅查找第一个匹配元素html.at
查找所有匹配元素html.search
另一方面
查找任何带有html.at(“.image”)
的元素,即使它是一个class=“image”
标记
使用html.at(“img.image”)
class=“image”
查找第一个html.at(“img”)
元素
.image
元素并下载src
属性。它并不关心所有的图像。如果是这样,你会使用css
方法而不是at
。您可能想使用.css('img')
。您想查找具有类image
或所有img
s的元素吗?这个问题不再有意义,因为example.com处于脱机状态,因此示例代码将失败。请参阅“”。