2009-04-07 40 views
8

Tôi đang cố tạo các hình ảnh thu nhỏ có lập trình của một số lượng lớn các trang web được lưu trữ trên trang web ruby ​​/ ray dựa trên của riêng tôi.Làm cách nào để chụp ảnh màn hình của các trang web bằng ruby ​​và máy chủ Unix?

Tôi muốn để có thể mã hóa một chút độc lập của ruby ​​trông giống như thế này:

require 'awesome-screenshot-maker' 

items.each do |id| 
    url = "http://foo.com/bar/#{id}" 
    shooter = AwesomeScreenshotMaker.new(0.2) # thumbnails are 20% of original 
    shooter.capture(url, "/images/thumbnail-#{id}.png") 
end 

Tôi cần thư viện tuyệt vời-screenshot-nhà sản xuất (và phụ thuộc của nó) là khá dễ dàng để xây dựng trên Linux, Solaris và Mac OS X. Lý tưởng nhất là nó sẽ cài đặt chỉ với một lệnh 'gem install'.

Tôi đã dành buổi chiều khám phá các tùy chọn khác nhau, bao gồm Moz snap shooter, webkit2pngrbwebkitgtk. Họ là tất cả trong khu vực bên phải, nhưng không ai dường như làm việc trên cả ba nền tảng.

RMagick trông giống như một tùy chọn có thể nếu tôi sẵn sàng xuất tệp PDF từ ứng dụng đường ray của tôi (thay vì trang web), nhưng điều đó khiến tôi bị tấn công. Cũng rất mất thời gian để có được RMagic và tưởng tượng và chạy trên Mac OS X.

Thư viện này tồn tại có thể dễ dàng cài đặt trên ba nền tảng không?

+0

Câu hỏi này đã được hỏi ít nhất 3 lần trong quá khứ. Vui lòng xem câu trả lời cho # 125951, # 686858 và # 713938. –

+1

Tất cả các câu trả lời đều đề cập đến các ứng dụng dòng lệnh python, php hoặc dòng lệnh. Tôi đã khám phá những lựa chọn đó và muốn tìm một giải pháp dựa trên ruby ​​rắn. – Lee

Trả lời

1

Có một wrapper ruby ​​cho PageGlimpse sẵn:

http://code.squidchunks.com/pageglimpse/

Thật không may, các Điều khoản của nhà nước sử dụng rằng "Bạn không phải sử dụng hoặc chạy bất kỳ hệ thống tự động, bao gồm nhưng không giới hạn, 'độc giả ẩn', "nhện", v.v. để thu thập dữ liệu do Dịch vụ cung cấp ".

1

Bạn có thể sử dụng đá quý gastly.

Gastly.capture('http://google.com', 'output.png')

+0

điều này phù hợp với tôi – draw

Các vấn đề liên quan