定期的にチャットレディの待機映像をキャプる方法

2016年12月30日

チャットグラバー(以下CG)でいいのかもしれないが(動画が撮れるし)、あまり詳しくないがCGはパソコンをずっと起動させておかないといけないはずだ。今回ご紹介するのは待機映像の画像キャプチャーだが、パソコンを起動させなくても、あなたが寝ている間にも定期的に好きな女の子、好きじゃない女の子の待機キャプチャーをとれるという方法である。

用意するものはVPSという自由度の高いレンタルサーバみたいなもの。月額費用がかかるので、他にサイト運営なんかをやって月額費用くらいはアドセンス等の広告収入で稼げるようになればいいでしょう。。とにかく安くいきたい場合は探せば月500円くらいのプランがあったはず。

環境作り

まずはNodeJSっていうのをインストールする。そしてPhantomJSというヘッドレスブラウザというものと、それを簡単に操作できるCasperJSというのをインストールする。話はそれからだ。

ほんで要はこのヘッドレスブラウザで女の子のチャット画面にアクセスして自動でキャプチャーを撮影するのだ。で、コツとしてはFlashPlayerはキャプれないので、スマホサイトにいったらFlashPlayerではないので、スマホ用の画面を表示させるように設定してキャプること。

このやり方で、完全にサーバ上でキャプチャー作業ができるので、これをcron処理という定期的にプログラムを実行する仕組みを使えば定期的に女の子のオンライン状況をトップページから確認して、待機中だったらチャット画面をキャプチャーするという処理を記述しておけば、指定した女の子(指定しなくても)の待機画像をサーバに保存しておくことができる。

注意点としては、全員のキャプを撮ろうとすると、1度に何回もサイトへアクセスすることになり、サイトからDOS攻撃扱いされて、IP制限をかけられる可能性があるということです。これをされるとそのサーバからアクセスできなくなるので、例えば、人数は3人までにするとか、そういう空気を読んだ処理も書いておくことにしましょう。

まず、VPSにteratermでSSHログインまでは頑張れ!(気が向いたら詳細を書きます・・)

nodejsのインストール

teraterm上で以下のコマンドを入力してEnterボタンを押す。

yum install epel-release
yum install nodejs npm –enablerepo=epel
yum install gcc gcc-c++

node -v
v0.10.48みたいなのが出ればOK
npm -v
1.3.6みたいなのが出ればOK

phantomJSをインストール

その前に「fontconfig-devel」というphantomJSに必要なやつをインストール
yum -y install fontconfig-devel
npm install -g phantomjs-prebuilt

casperJSをインストール

npm install -g casperjs

まずは画面をキャプる処理を書いてみよう。
どこかのディレクトリにcap.jsという任意のJSファイルを作成。
ファイル内に以下のコードを記述。
※(特定の女の子のハッシュID)の箇所は自分で編集しよう。

// —– URLと保存名を指定 —–
var links = [
[“https://livede55.com/chat/performer/(特定の女の子のハッシュID)”,”sample.jpg”]
];

// —– キャプチャー遅延 —–
var waitTime = 3000;

// —– ベーシック認証 —–
var basicId = “”;
var basicPass = “”;

// —– デバイスの切り替え(コメントアウトで切り替え) —–
// —– iPhone —–
var width = 320;
var height = 568;
var ua = “Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4”;

// —– iPad —–
//var width = 768;
//var height = 1024;
//var ua = “Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4”;

// —– safari,crhome —–
// var width = 1280;
// var height = 900;
// var ua = “Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36”;

// —– スクレイピング実行 —–
var casper = require(‘casper’).create();
casper.start();
casper.userAgent(ua);
casper.viewport(width, height);
casper.setHttpAuth(basicId, basicPass);

casper.each(
links,
function(self,link){
var url =link[0];
var file =link[1];
self.thenOpen(url, function () {
this.echo(“captur page title:”+this.getTitle());
});

self.wait(waitTime,function(){
self.capture(file);
});
});

casper.run();

teratermで、cap.jsのあるディレクトリに移動し、以下のコマンドを実行
casperjs cap.js

そうするとcap.jsと同じディレクトリにsample.jpgという画像が作成される。
これでキャプチャー処理が完了ですね。
文字が表示されませんが、欲しいのは画像なので、ここでは気にせず・・

特定の女の子の待機状況をチェックする処理を書いてみよう

処理の概要:サイトにもよりますが、最近の主流としては女の子のオンライン状況はjsonファイル形式になっています。そのjsonファイルのURLにアクセスしてオンライン状況を取得するという流れになります。どのサイトもそうですが、チャットレディ一人につき一つのハッシュIDというものが付与されています。実際にどういうものかというと、例えばマシェリの「♪*ゆな*♪」ちゃんのチャット画面のURLは「http://www.macherie.tv/chat/shicho.php?id=72b2f31dafc7193」ですが、ここの「72b2f31dafc7193」の部分が「♪*ゆな*♪」ちゃんのハッシュIDとなります。自分のお気に入りの女の子のハッシュIDで、jsonファイルを検索して、その子がチャット中なのか、待機中なのかを検索する、というのが今回の処理になります。

詳細は、気が向いたら書きます・・

待機していればキャプる処理を書いてみよう

処理の概要:いわば上の二つの処理の応用編である。基本的にCasperJSはNodeJSと同居できないのであるが、SpookyJSというのを利用するとNodeJS上からCasperJSを実行することができるらしい。これで特定の女の子の待機状況をチェックしながらチャット画面をキャプチャーすることができる。尚、待機チェックのためのWebスクレイピングにはCheerioを使うことにする。また、オンライン状況がjson形式のサイトについては、まだ考えていない・・。

詳細は、気が向いたら・・

処理をcronを利用して定期的に自動実行しよう

処理の概要:上記処理をcronというlinuxの定期処理の仕組みを利用することによって、定期的に、自動的に待機中のお気に入りをチェックしてキャプチャー処理を行うことができる。

詳細は、気が向いたら・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です