UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

コマンドラインでWebページのキャプチャーを取る MacOS X 10.6編

コマンドラインでWebページのキャプチャーを取る MacOS X 10.6編


0.改訂履歴

  • 2010.03.30 新規作成

1.はじめに

 このドキュメントでは,コマンドラインでWebページをキャプチャーして画像ファイルに保存するweb2pngのインストールと利用方法の手順を 説明する. web2pngは,Safari等で使われているWebKitのCライブラリにPyObjCというObjective Cとのブリッジを行うライブラリを使用して,Pythonというスクリプト言語でアクセスして動作する.
 今回利用した環境はMacOS X 10.6.2で,Xcodeがインストールされており,PythonやPyObjCの環境は予め揃っている.

2.プログラムの入手

  • プログラムを入手する.
  • このページのインストール方法にある,"Download"のキーワードがリンクになっているのでダウンロードする.
  • ダウンロードしたファイルは次の通り.
macbook:Downloads ujpadmin$ ls -la webkit2png-0.5.txt.sh 
-rw-r--r--@ 1 ujpadmin staff 11656 3 30 10:55 webkit2png-0.5.txt.sh
macbook:Downloads ujpadmin$
  • 不要な拡張子がついているので,取る.
macbook:Downloads ujpadmin$ mv webkit2png-0.5.txt.sh  webkit2png.py
macbook:Downloads ujpadmin$
  • 特にスクリプト言語なので,インストール作業は必要ないので,適当なディレクトリに置く.

3.PythonとPyObjCの環境の確認

  • web2pngはスクリプト言語のpythonで作られたスクリプトなので,pythonのバージョンを確認する.
macbook:Downloads ujpadmin$ python -V
Python 2.6.1
macbook:Downloads ujpadmin$
  • PyObjCのバージョンを調べる.本来の調べ方は別にあると思われるが.取り急ぎ.
ujpadmin$ locate pyobjc_core
Frameworks/Python.framework/Versions/2.5/Extras/lib/python/PyObjC/pyobjc_core-2.
2b3-py2.5.egg-info
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.5.egg-info/PKG-INFO
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.5.egg-info/SOURCES.txt
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.5.egg-info/dependency_links.txt
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.5.egg-info/not-zip-safe
/System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.5.egg-info/top_level.txt
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info/PKG-INFO

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info/SOURCES.txt
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info/dependency_links.txt
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info/not-zip-safe
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/
PyObjC/pyobjc_core-2.2b3-py2.6.egg-info/top_level.txt
macbook:PyObjC ujpadmin$
  • PyObjCは2.2b3がインストールされている.
  • PyObjC 1.1以降が要件となっているので,満たしている事が確認できた.

4.Webページのキャプチャを取る

  • URLを指定し,web2pngを実行する.
macbook:Downloads ujpadmin$ python webkit2png.py http://www.ujp.jp
Fetching http://www.ujp.jp ...
... done
macbook:Downloads ujpadmin$
  • 取得されたキャプチャファイルを確認する.
macbook:Downloads ujpadmin$ ls -lat *.png
-rw-r--r-- 1 ujpadmin staff 45789 3 30 11:33 wwwujpjp-clipped.png
-rw-r--r-- 1 ujpadmin staff 2207398 3 30 11:33 wwwujpjp-full.png
-rw-r--r-- 1 ujpadmin staff 318187 3 30 11:33 wwwujpjp-thumb.png

macbook:Downloads ujpadmin$
  • 3つのファイルが作成されている.
  • 使い方を確認する.
macbook:Downloads ujpadmin$ python webkit2png.py --help
Usage: webkit2png.py [options] [http://example.net/ ...]

examples:
webkit2png.py http://google.com/ # screengrab google
webkit2png.py -W 1000 -H 1000 http://google.com/ # bigger screengrab of google
webkit2png.py -T http://google.com/ # just the thumbnail screengrab
webkit2png.py -TF http://google.com/ # just thumbnail and fullsize grab
webkit2png.py -o foo http://google.com/ # save images as "foo-thumb.png" etc
webkit2png.py - # screengrab urls from stdin
webkit2png.py -h | less # full documentation

Options:
--version show program's version number and exit
-h, --help show this help message and exit
-W WIDTH, --width=WIDTH
initial (and minimum) width of browser (default: 800)
-H HEIGHT, --height=HEIGHT
initial (and minimum) height of browser (default: 600)
--clipwidth=WIDTH width of clipped thumbnail (default: 200)
--clipheight=HEIGHT height of clipped thumbnail (default: 150)
-s SCALE, --scale=SCALE
scale factor for thumbnails (default: 0.25)
-m, --md5 use md5 hash for filename (like del.icio.us)
-o NAME, --filename=NAME
save images as NAME-full.png,NAME-thumb.png etc

-F, --fullsize only create fullsize screenshot
-T, --thumb only create thumbnail sreenshot
-C, --clipped only create clipped thumbnail screenshot
-d, --datestamp include date in filename
-D DIR, --dir=DIR directory to place images into
--delay=DELAY delay between page load finishing and screenshot
--noimages don't load images
macbook:Downloads ujpadmin$
  • フルサイズで,ファイル名に日付を付け,任意のファイル名を設定して実行する.
macbook:Downloads ujpadmin$ python webkit2png.py --fullsize --datestamp --filename=
WWW.UJP.JP http://www.ujp.jp/

Fetching http://www.ujp.jp/ ...
... done
macbook:Downloads ujpadmin$
  • 作成されたファイルを確認する.
macbook:Downloads ujpadmin$ ls -lat *.png
-rw-r--r-- 1 ujpadmin staff 2207957 3 30 11:39 20100330-WWW.UJP.JP-full.png
-rw-r--r-- 1 ujpadmin staff 45789 3 30 11:33 wwwujpjp-clipped.png
-rw-r--r-- 1 ujpadmin staff 2207398 3 30 11:33 wwwujpjp-full.png
-rw-r--r-- 1 ujpadmin staff 318187 3 30 11:33 wwwujpjp-thumb.png
macbook:Downloads ujpadmin$


広告スペース
Google