我正在尝试逐个浏览本网站Link上所有子页面上所有div.auto_items的屏幕截图。
我想要实现的是将所有车辆作为图片,然后将其作为图像幻灯片显示在自助服务终端机器上。 它应该从cron运行,因为车辆不时变化(自然地)
到目前为止我所拥有的是:
#!/root/.rbenv/shims/ruby
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'screencap'
base_url = "http://vacs.opelduna.hu.opel.carusseldwt.com/result/"
page = Nokogiri::HTML(open(base_url))
page.encoding = 'utf-8'
page.css('div#rk div.index_top div.small_search_results_pager ul li.paging_item a span').each do |el|
#puts el.text
count = 0
page2_url = "http://vacs.opelduna.hu.opel.carusseldwt.com/result/" + el.text
#page2 = Nokogiri::HTML(open(page2_url))
f = Screencap::Fetcher.new(page2_url)
#page2.css('div#rk div.auto_item').each do |car2pic|
count = count+1
#f = Screencap::Fetcher.new(car2pic)
screenshot = f.fetch(
:output => '~/car2pic_'+count.to_s+'.png', # don't forget the extension!
# optional:
:div => '.auto_content', # selector for a specific element to take screenshot of
#:width => 1024,
#:height => 768,
#:top => 0, :left => 0, :width => 100, :height => 100 # dimensions for a specific area
)
#end
end
但这似乎没有做任何事情。或者至少我让它“运行”10分钟,并没有保存照片:( 重要的是这台机器是无头的,所以没有台式机。
我在这里阅读 how to screenshot a div using phantomJS 一个解决方案是部分呈现页面,然后截取屏幕截图,但我认为这个: https://github.com/maxwell/screencap 照顾好。
感谢 汤姆