プロが教えるわが家の防犯対策術!

URLを指定して、サイトの画像キャプチャを、デスクトップかサーバーの指定ディレクトリへ保存したいのですが、どうすればよいでしょうか?

A 回答 (4件)

こんにちは。



PHPで実現したいとうことでしょうか?

サーバの指定ディレクトリへの保存は各種サービスのAPIを使用すれば比較的簡単に実現できると思います。

デスクトップへの保存は自分で保存する等のアクションが無いと難しいと思います。
(勝手にローカルへ保存できない)


各種サービスはこちらを参考にしてみてください
http://zapanet.info/blog/item/955

この回答への補足

回答ありがとうございました。

APIを利用せずに実装するにはどうすればよいでしょうか?
どういう風にスクリプトでキャプチャを撮るか知りたいです。

補足日時:2012/01/21 04:24
    • good
    • 0

HTMLやサイト上の画像ファイルをダウンロードするということではなくて、


ブラウザで表示した状態を、画像ファイルにして、ローカルに保存するということでしたら、
普通は、 サーバー側で動くPHPでなく、クライアント側で行う必要があるのではと。
(VBAでIEオブジェクトをコールして表示してから、それのbitmap画像をjpg変換して
 ローカルに保存。。ってことになるのでしょうから、簡単という訳ではないと思いますが)


ただ、各種ブラウザでの見た目をエミュレーションしてくれるサービスのサイトが
いくつかあったと思いますので、その画像を利用して、簡単にするというのは可能かもしれません。
(各種OSや各種ブラウザによっての見た目を表示してくれるサービス)
http://gigazine.net/news/20081021_cross_browser_ …

サービス提供側が、そのような使い方をしても、約款的に問題ないかの確認は必要ですが・・・

たとえば PHPから そのサービスに表示したいURLをfile_get_contents()にでも渡して
戻ってきたコンテンツから画像ファイルのパスを解析し、
さらに その画像ファイルのURLをfile_get_contents()でとりだして サーバーに保存する
ということなら、PHPだけでも可能だと思います。

さらに、それをデスクトップにダウンロードするHTMLをPHPで作るというのも
可能だと思いますが、HTMLでやると、ダウンロード作業自体は1件ごとの
手動になりますので、ftpで一括でやったほうが簡単かも。

アイデアだけで 試したことはないので、あしからずです。

この回答への補足

回答ありがとうございました。

>戻ってきたコンテンツから画像ファイルのパスを解析し
この画像自体は、「各種ブラウザでの見た目をエミュレーションしてくれるサービス」を利用しないと取得できないのでしょうか?
スクリプトで、URLのキャプチャ画像は取得できないのでしょうか?

補足日時:2012/01/21 04:29
    • good
    • 0

> スクリプトで、URLのキャプチャ画像は取得できないのでしょうか?



Webの仕組みがどうなっているか考えるとわかると思いますが
Webコンテンツとして提供されているのは、HTMLやCSSやそれに埋め込まれている画像ファイルで
あって、そのページを実際に表示したときのイメージではありません。
HTMLやCSSを解釈して、ページとして組み立てているのは、クライアント側のブラウザの仕事です。
なので、元のコンテンツのWebサーバーから 表示イメージ(ブラウザで表示をのキャプチャした画像ファイル)をいきなり取り出すことはできません。

よって、どこかで(自分のクライアント環境か、それの代行サービスか)でブラウザでの表示イメージを
生成して それを画像ファイル化する必要があります。

ただし、要件が画像キャプチャでなく、コンテンツサーバーが提供する生データ
(HTMLやCSSやそれに埋めこまれた画像ファイル)を単に取り出して保存したい
というだけなら、話はそんなにややこしくないです。
    • good
    • 0
この回答へのお礼

回答ありがとうございましたー

お礼日時:2012/02/23 11:08

こんにちは。



Windows環境であれば以下のような感じで実装は可能です。
(実際に作ってみましたが、簡単に出来ました)

http://dip.picolix.jp/disp5.html
というようなキャプチャソフトをPHPよりexecで起動します。
すると、指定ディレクトリにキャプチャ画像を生成することが出来ます。

こんな方法もあるようです。
http://codezine.jp/article/detail/1272

No.3さんも言っているように直接画面をキャプチャすることが出来ないのでブラウザまたはその類のソフトを経由する必要があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

大変参考になりました。

ブログ更新楽しみにしてますー

お礼日時:2012/02/23 11:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!