13

私が見つけたほとんどすべての回答は、既存のサービスを使用して参照しています。プログラムでRails 3.1を使用してこれを行う方法はありますか? これは、PHP で行うのは非常に簡単でした (PHP には、これを行うビルド済みのライブラリがあります)。

URLを指定して、私がやろうとしていることは次のとおりです。

  1. ウェブサイトのスクリーンショットを撮る

  2. トリミングします(左上の 100x100 ピクセルのみを取得します

PS。ここに私の環境があります: Rails 3.1 , Ruby 1.9.2

注:このソリューションは、おそらく URL のリダイレクトにも従う必要があります。

アップデート:

4

4 に答える 4

8

このタスク用の Rails gem があります。

 gem install selenium-webdriver

シンプルなユースケース:

require 'selenium-webdriver'
 width = 1024
 height = 728
 driver = Selenium::WebDriver.for :firefox
 driver.navigate.to 'http://domain.com'
 driver.execute_script %Q{
   window.resizeTo(#{width}, #{height});
 }
 driver.save_screenshot('/tmp/screenshot.png')
 driver.quit
于 2012-12-05T12:06:52.323 に答える
4

これは役立つかもしれません:https ://github.com/csquared/IMGKit

于 2011-11-21T22:00:00.533 に答える
2

シンプルですがMacのみの解決策は、 http://www.paulhammond.org/webkit2png/のようです。

chmod -xそのスクリプトとasを使用するとpython webkit2png http://www.google.com/、3つのファイルが作成されます。

  1. フルスクリーンショット
  2. サイトの最上部のサムネイル
  3. フルスクリーンショットのサムネイル
于 2011-11-21T22:37:07.027 に答える
2

wkhtmltoimage を使用して Web ページをロードし、画像として保存してから、imagemagick (またはそのための ruby​​ ラッパーの 1 つ) を使用してトリミングすることができます。

wkhtmltoimage www.google.com output.jpg
convert -crop 100x100+0+100 output.jpg cropped.jpg

ただし、OSX 用にビルド済みの wkhtmltoimage バイナリは存在しないため、代わりに wkhtmltopdf を使用してから imagemagick を使用して画像に変換することをお勧めします。

wkthmltopdf www.google.com output.pdf
convert -crop 100x100+0+100 output.pdf cropped.jpg
于 2011-11-21T22:11:02.343 に答える