[Document workflow] https と basic 認証を越えてページを取得・キャプチャする

ドキュメント作成で大量のスクリーンショットを取る必要があり、これを自動化する。

以前、このあたりでキャプチャ自体は取得できるようになっていたが、basic 認証でこけたので修正した。

あわせて前処理として、HTMLの取得とパースを行えるようにした。

つかいかた

こちらにまとめた。

webkit2png でキャプチャするため、事前にインストール。

% brew info webkit2png
webkit2png: stable 0.7
http://www.paulhammond.org/webkit2png/
/usr/local/Cellar/webkit2png/0.7 (3 files, 28K) *
  Built from source
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/webkit2png.rb

種となるURIからHTMLをパースし、キャプチャするURIリストを作成する。

% ruby create_list.rb -i input.txt

リストをもとにキャプチャする。

% ruby capture_screen.rb output.txt

融通が利くようにステップを分けた。
目的は果たせそう。

補遺

nokogiri でパースする際の指定を doc.css('a') のようにしていたが、以下のエラーが出た。

.../uri/generic.rb:1203:in `rescue in merge': bad argument (expected URI object or URI string) (ArgumentError)

HTML a name Attribute でこけてしまった。
doc.css('a[href]')という指定が必要でした。