「JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック」という長いタイトルの本を書きました。先日より、Amazonで予約注文ができるようになっています。

内容は、JavaScript(主にNode.js)を利用して、クローラーを作ったり、形態素解析をしたり、人工無能(会話ボット)を作ったり、機械学習をしたりと、盛りだくさんの内容になっています。

中級者向け(脱初心者のため)の本となっています。JavaScriptをもう少し頑張ろうと思っている方、尖ったことに挑戦したい方、アフィリエイターや自動ページ生成系で広告収入を狙っている方など、多くの方に読んでいただければと思っています。よろしくお願いします。

nodejs-netagent.jpg

補足  *

  • 2015/09/04
  • 2016/06/17

書籍の内容(p.26)に対するフォローです。

Vagrantで仮想マシンをセットアップする際、設定ファイル「Vagrantfile」に「chef/centos-6.5」を書き込むよう指示がありますが、最近になり、このboxファイルにアクセスできなくなっているようです。そこで、代わりに、以下を指定してください。

# config.vm.box = "base"                ← コメントアウト
config.vm.box = "puphpet/centos65-x64"  ← このように書き換える

ただし、このBoxファイルもいつまで使えるか分からないので、書籍に書かれているとおり、「http://vagrantcloud.com」からCentOSを探して、任意のBoxファイルの名前を記述してみてください。

Vagrantの環境がうまく構築できない場合、より詳しい情報を以下に掲載しますので、以下を参考にしてみてください。

(参考)「VagrantでCentOSをインストール」を参照してください。
  • また、Windows10でVagrant1.8.3が動かない問題があるようです。こちらに解決策があるので、ご確認ください。

(p.70)(p.71)(p.73)(p.75)(p.76)(p.176)(p.285)(p.320)(p.323)(p.325)(p.338) stringifyに対する編集上のミス *

プログラムや本文の数カ所で、stringifyの中の「GIF」が大文字になってしまっていますが、明らかな間違いです。

  • (間違い) JSON.strinGIFy(...)
  • (正しい) JSON.stringify(...)

(p.95) 三章 PhantomJS/CasperJSでFlickrのネコページをキャプチャ *

FlickrのWebサイトのトップページが変更になってしまったため、プログラムが動かなくなってしまいました。以下のようにプログラムを直すと動きます。(初版)のp95では、CasperJSのプログラムの雰囲気を掴むことを目的としているもので、昔のFlickrは書籍掲載のサンプルで動いたんだなと流し読みしてくだされば嬉しいです。

// Flickrで検索しスクリーンショット撮る for CasperJS
// CasperJSのオブジェクトを作成
var casper = require('casper').create();

// CasperJSの処理を開始する ---- (※1)
casper.start();

// 画面サイズを指定する ---- (※2)
casper.viewport(1400, 800);

// UserAgentの指定
casper.userAgent('User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36');

// Flickrのサイトでネコを検索 ---- (※3)
var text = encodeURIComponent("ネコ");
casper.open('https://www.flickr.com/search/?text=' + text);

// その後、画面をキャプチャ---- (※4)
casper.then(function(){
  this.capture('flickr-cat.png',{
    top:0, left:0, width: 1400, height: 800
  });
});

// 実行開始
casper.run();

(プログラム変更に伴う解説の変更) プログラムの(※3)では、ネコを検索するFlickrのWebサイトを開きます。そして、(※4)のthen()メソッドで、サイトを開いた後の処理、つまり、画面キャプチャを行います。ここでは、キャプチャする範囲を引数として指定領域をキャプチャします。

(p416)の補足 *

補足ですが、WindowsでNode.jsのモジュールをインストールするとき、ソースコードからバイナリをコンパイルする必要がある場合、PythonやWindowsのSDKが必要になることがあります。

例えば、SQLite3のモジュールをインストールする場合、こちらのリンクを参考にしてみてください。

(p79) 表が間違っていました。 *

XML形式では、format=jsonのところが、format=xmlが正解です。

JSON 形式で為替レートを得る
http://api.aoikujira.com/kawase/get.php?code=USD&format=json

XML 形式で為替を得る
http://api.aoikujira.com/kawase/get.php?code=USD&format=xml

修正点を指摘してくださった皆さんに感謝します。



補足 - 2015/09/10 *

けっして初心者向けとはいえない本ですが、9/4の深夜にWebプログラミングで4位まで行きました。9/10に見たら、ベストセラーとなっており、順位は一位でした。

amazon-rank-agentbook.png

皆さんに感謝です!