2009-04-07 3 views
8

나는 내 자신의 루비/레일 기반 웹 사이트에서 호스팅되는 수많은 웹 페이지의 축소판 이미지를 프로그래밍 방식으로 만들려고합니다. 루비와 유닉스 서버를 사용하여 웹 페이지의 스크린 샷을 찍는 방법은 무엇입니까?

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 

내가 최고 - 스크린 샷 메이커 라이브러리 (및 그 종속)가 필요에 매우 쉽게 될 :

나는 이런 식으로 뭔가를 보이는 루비의 독립 실행 형 비트를 코딩 할 수있게하려면 Linux, Solaris 및 Mac OS X에서 빌드하십시오. 이상적으로 그것은 하나의 'gem install'명령으로 설치됩니다.

저는 오후에 Moz snap shooter, webkit2pngrbwebkitgtk을 비롯한 다양한 옵션을 탐험했습니다. 그들은 모두 올바른 영역에 있지만 세 가지 플랫폼 모두에서 작동하는 것으로 보이지는 않습니다.

RMagick은 웹 페이지 대신 내 레일 앱에서 PDF를 출력 할 수있는 가능성이있는 것처럼 보이지만, 해킹으로 생각납니다. 또한 RMagic 및 imagemagick을 Mac OS X에서 실행하고 실행하는 것은 매우 힘듭니다.

3 개의 플랫폼에서 쉽게 설정할 수있는 라이브러리가 있습니까?

+0

이 질문은 적어도 과거 3 번 질문되었습니다. # 125951, # 686858 및 # 713938에 대한 답변을 참조하십시오. –

+1

그 대답은 모두 python, php 또는 명령 줄 응용 프로그램을 참조합니다. 나는 이미 이러한 옵션을 탐구했고 견고한 루비 기반 솔루션을 찾고 싶어합니다. – Lee

답변

1

사용할 수 PageGlimpse에 대한 루비 래퍼가 :

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

불행하게도, "사용하거나, 제한없이 포함하여 모든 자동화 된 시스템을 실행하지 않아야합니다"오프라인 독자 "는 사용 상태의 조건, "거미"등이 서비스에서 제공하는 데이터를 캡처합니다. "

2

phantom.js

+0

이것이 나를 위해 작동하지 않습니다 – draw

관련 문제