ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

Chrome headlessで遊んだ #155

今日やった事

ChromeのDockerfileを書いた。

書きました。

GitHub - uutarou10/chrome-japanese-docker: Docker + Google Chrome + Japanese font

UbuntuベースにstableなChromeをぶち込んで申し訳程度に日本語フォントを当てただけのものになります。

headlessでごちゃごちゃやることを想定してるのでX転送して云々とかできるかどうかはよくわかりません。

提出締め切りにスクショ保存するスクリプトを書いた

研究室で「各自のプロフィールを書いたサイトを指定のサーバーにアップロード」という課題が出てて、今晩がその締め切りなのでそのタイミングで全員分のページのスクリーンショットを撮って保存する、という大変性格の悪いスクリプトを書きました。

だいたいこんな感じ

#!/bin/bash
users=([ユーザーIDの配列])

baseDir=gyotaku
mkdir $baseDir
for userId in ${users[@]}
do
  mkdir $baseDir/$userId
  url="http://example.com/~${userId}/"
  wget -r -l 0 -nH -np $url -P ./${baseDir}/${userId}
  google-chrome-stable --no-sandbox --headless --print-to-pdf $url 
  chmod 666 ./output.pdf
  mv ./output.pdf ./${baseDir}/${userId}/${userId}.pdf
done

即席パパッと作ったやつなので並列処理されてないし権限無理やり書き換えてたり結構ごちゃっとしてますがまぁ一日限りだし十分かと。

ついでにwgetでソースも取ってくるようにしてあります。なんて性格の悪い………。

ちなみにwgetのオプションは-r再帰的にダウンロードでその次の-lとその後ろの数字がどのくらいの階層まで取りに行くかというオプションです。0は全部取るとのこと。で-nHドメイン名のディレクトリを作らないオプションで最後の-npは指定したURLより上の階層に関しては取得しないというオプションになります。

こんな便利なんですねwget

というわけであと2時間弱でこのスクリプトが発火します。

雑談

体調がよろしくなくなってきた