Webをキャプチャして変換するツール

Rubyによる高度なスクリーンショット機能

Ruby API

標準のスクリーンショット機能と同様に GrabzItのRuby API 開発者ができるようにします intアプリケーションをフックできるようにすることで、GrabzItと密接に連携する into GrabzItのサービスの内部動作。たとえば、既存のスクリーンショットのステータスを確認し、GrabzItがWebコンテンツをキャプチャするときに使用するCookieを設定します。

スクリーンショットのステータス

アプリケーションは、キャプチャのステータスを確認する必要がありますが、これは get_status メソッドは便利です。キャプチャに関連付けられているエラーメッセージを返すとともに、キャプチャがまだ処理中、キャッシュ済み、または期限切れかどうかを示すオブジェクトを返します。

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

status = grabzItClient.get_status(screenShotId)

if status.processing
    #screenshot has not yet been processed
end

if status.cached
    #screenshot is still cached by GrabzIt
end

if status.expired
    #screenshot is no longer on GrabzIt
    #Perhaps output status message?
    raise status.message
end

クッキー(Cookie)について

ほとんどすべてのWebサイトが機能をCookieで制御しています。 ターゲットWebサイトのWebサイト機能を変更できるようにするには、GrabzItは次のCookieメソッドを公開します。これらのメソッドで使用可能なパラメーターの詳細については、 クライアントのドキュメント.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

#gets an array of cookies for google.com
cookies = grabzItClient.get_cookies("google.com")

#sets a cookie for the google.com domain
grabzItClient.set_cookie("MyCookie", "google.com", "Any Value You Like")

#deletes the previously set cookie
grabzItClient.delete_cookie("MyCookie", "google.com")

ダウンロードせずにキャプチャを表示する

キャプチャを使用する前にWebサーバーにダウンロードすることをお勧めします。 ただし、最初にWebサーバーにダウンロードせずに、ユーザーのブラウザーに任意の種類のキャプチャを表示することは可能です。

これを行うには、キャプチャが完了すると、によって返されたキャプチャのバイトを送信することができます save_to 方法 応答とともに 正しいMIMEタイプ.

grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")

grabzItClient.url_to_image("https://www.tesla.com")	
capture = grabzItClient.save_to();

上記の例では、キャプチャのバイトを取得していますが、応答にどのように返されるかは、使用しているフレームワークによって異なります。