ホーム DoRuby casperjs のスクリプトを crontab で実行する
casperjs のスクリプトを crontab で実行する
 

casperjs のスクリプトを crontab で実行する

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

JavascriptでレンダーされるWebページの特定部分の情報を取ってくるみたいなことをするとき casperjs を使ったスクリプトが便利だけれど、cron実行しようとしたところ思うように動くまでに手こずったのでメモ。

環境

$ uname -mprsv
Darwin 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64 i386
$ node -v
v10.7.0
$ phantomjs --version
2.1.1
$ casperjs --version
1.1.4
$ python --version
Python 2.7.15

スクリプト

$ cat /Users/kadosawa/bin/doruby

#!/usr/bin/env casperjs

var url = "https://doruby.jp/";
var casper = require('casper').create();

casper.start(url, function() {
  var that = this;
  var title = casper.evaluate(function() {
    return $('#newest-entries div.entry').first().text();
  });
  this.echo(new Date + ' ' + title);
}); //開始

casper.run();

crontab内容

PATH=$PATH:/usr/bin:/usr/local/bin
* * * * * /Users/kadosawa/bin/doruby >> /tmp/doruby.log.txt 2>&1

ポイント
crontab だと node や phantomjs や python やらのパスがなくてエラーになるのでPATH変数を設定してさしあげます。


  • 118 views
記事を共有

最近人気な記事