CentOS上のPhantomJS/CasperJSでWebサイトのキャプチャ

シェアする

URLリストからスクレイピングするのって便利ですよね。最近やり方を覚えたので色々試しているのですが、サーバー上のコンテンツにスクレイピングした内容を使うにあたり、CentOS7にPhantomJS/CasperJSを入れるのがちょっと手間取ったので覚書。

PhantomJSのインストール

公式みたらバイナリは問題あるからソースからビルドしろって書いてあるけど、実際ビルドしたらなんかエラーがでて進まないし…
AmazonLinux – [Linux]PhantomJSをインストールする – Qiita
というわけで1.9.7ならバイナリが提供されてるのでとりあえずそれ入れる。

CasperJSのインストール

CentOS6.4にPhantomJSとCasperJSをインストール – Qiita
これでいけます。

キャプチャしたらフォントが豆腐になるんすけど…

日本語フォントが入ってないからです。ttfのフォントを入手して、以下
フォントインストール(CentOS6.4) – Qiita

これで再度スクリプトを走らせれば豆腐にはならないはず…
できた環境は
CentOS Linux 7.1.1503
PhantomJS 1.9.7
CasperJS 1.1.0-beta3
です。

CasperJS使うとタイトル一覧とかDescription一覧がすぐにできるし外部のWebサービス使うよりも制限とか無くて便利だからいいですね。

最近、別のVPSを試したくなってServersmanのEntryを借りてみました。スペックは低いけどそこそこ使えるかなー。

追記

日本語フォント入れたけどなおんねーよ!という方
LANG=ja_JP.UTF-8
になってません?
echo $LANGして、日本語になってたら、
export export LANG=en_US.UTF-8
でロケールを英語にしてキャプチャしてみてください。
(別に日本語サイトがキャプチャできなくなるわけではないです)

ただ、フォント入れてロケール変えてもどうしても豆腐になるところがあって、どうもfont-familyの設定で見たこと無いフォントが入ってるからかもしれないんだけど、Webフォントが豆腐になる問題は英語ロケールにしたら直るので今のところ原因不明です。

スポンサードリンク
 
シェアする