スポンサーサイト

スポンサー広告
-- /-- --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

cronを使わずにtwitterボットをほぼ定期的に発言させる方法を知りたいですか?

ちょっとしたプログラムとか
11 /20 2011
自転車で出かけたときに「一人きらら なう」とかつぶやきたいなーと思って先週からtwitter始めました。俺もツイートしてるよーって方がいらっしゃればフォローをお願いします。

roadbeginnerのtwitter始めました
http://twitter.com/#!/roadbeginner


さて、掲題の「cronを使わずにtwitterボットを定期的に発言させる方法」の件ですが、自転車関連のこのブログとはあまり関係ないので続きの方に書いておきますね。
まず、関連する話題から。

・Twitter botの作り方


今回twitterを始めるにあたり、僕は、読みに来てくださる方を飽きさせないために自分語りボットを用意しました。この自分語りボット作成の参考にさせて頂いたのは下記のサイトさんです。Easybotterというプログラムをレンタルサーバに設置することになりますが、僕は元々ロリポップのレンタルサーバを借りているので設置は楽勝でした。実に素晴らしいサイトさんです。感謝。

プログラミングができなくても作れるTwitter botの作り方20111119howtomaketwitterbot.jpg


・cronを使わずにtwitterボットをほぼ定期的に発言させる方法


設置したphpプログラムをどうやってキックするのかについて、ネット上で多くの方はクローンを使うと書いているようですが、必ず決まった時間に実行したいのなら兎も角、そこまで精度を求められるものは少ないように思います。また、クローンの使えないサーバを借りてる人はどうするの?ということもあります。で、それを簡単に解決する方法が以下です。

今回は、あっ!その手があったかという方を対象に書いていきたいと思います。全然分かりませんという方は次回のチャンスをお待ち下さい。では説明に入ります。以下、あなたが借りたレンタルサーバのドメイン名をtasl.jpとします。

  1. tasl.jp/bにあたるディレクトリにEasybotterをセットします。ツイートしたいデータも与えておきましょう。

  2. tasl.jp/bに新たにhoge.jsを用意します。hgoe.jsの中身は document.write('<script type="text/javascript" src="http://tasl.jp/b/bot.php"></script>');です。

  3. ツイートをキックする側のサイト(例えばこのブログ)からtasl.jp/b/hoge.jsをJavaScriptで呼び出します。

  4. そしてbot.phpの先頭は以下に書き換えておきます。
    //=============================
    // 2時間以上経たないと投稿しない
    //=============================
    $nowtime=time();
    $pretime = file_get_contents('time.txt');
    if( $nowtime-$pretime < 60*60*2 ){
    exit;
    }else{
    $fp=fopen('time.txt',"w");
    fwrite($fp,$nowtime );
    fclose($fp);
    }
    以降、ツイート用の処理に続く
はい。これだけです。簡単ですね。


基礎技術解説


・まず重要なのは、JSからphpを呼び出すということ。


大事なことを2つ書きますね。a.JSはクロスドメインで使える。なので、あなたの借りたレンタルサーバ側にjsを設置しておけば適当な無料ブログからそのJSを呼び出してもOKだということ。ここ非常に重要。そしてb.JSからはサーバサイドスクリプトを呼んで良いのです。大抵の方はここを読み落としてるんですよね。JSにすることでドメインを超えて、あなたのキックしたいphpをあなたの無料ブログから自由にキックできるってことですよ。

僕のこのブログのソースを見ると以下が見つかるでしょう? これがドメインを超えようぜって話。
<script type="text/javascript" src="http://tasl.jp/a/count.js"></script>
じゃあcount.jsの中身が何かって言うと、phpを呼び出してるわけ。
document.write('<script type="text/javascript" src="http://tasl.jp/a/bot.php"></script>');
こういったクロスドメインの基礎技術は、例えばアクセス解析のJavaScriptなんかにも使われています。

・2時間以上経たないと投稿しない


これは運用の話ね。もし上記でbot.phpに何も手を加えないと、あなたのブログに誰かがアクセスするたびにツイートが実行されてしまうことになります。1秒ごとにTLに死ぬほどくだらないことを書かれたら誰もフォローなくなるよね? その意味でも、1時間に1回とか、2時間に1回とか、その位のツイートがいい線かなーって思うんですね。なので、bot.phpの先頭でツイート間隔を抑制をしてるってことです。まあ、ここの部分は細かい説明はいらないでしょう。


あっ!その手があったかって方、コメントとフォロー、そして自転車を趣味にしていただけると嬉しいです。
have a nice tweet!

※ 酔っ払ってガーッと書いたんで適宜修正していきます。

関連記事

コメント

非公開コメント

お久しぶりでーすw

botの自動起動ですが、5分毎でよければ、
ライブドアの「DATAHOTEL パトロール」という
無料の死活監視サービスを使えば同じことが出来ますよw
私が動かしてるbotはこれでキックしてますw

まあ、こんな方法もあるよってことで(笑

死活監視かー

なるほど。とってもヘルシーですね。簡単に定期実行するときは僕もこれにしよう。ひろさん、情報ありがとう。

サイクリングなう。
いいですね。
自分も一応登録しているのですが、全く活用できてません(汗)

男爵さん、お久しぶりですー

今日は なう っていっぱい言えたので楽しかったですよ。最初だけかもしれませんけどね。男爵さんフォローしますから、良かったらアド教えて下さい。

取りあえず眠いので今日のネタは明日書くことにしよう。Zzzzz...

立石

山口県山口市住みの親父です。
 
先輩に引きずりこまれてロードバイク始めました。自転車の世界は右も左もわかりませんが左折くらいはなんとかできますw

にほんブログ村 自転車ブログ ロードバイクへ



人気ブログランキング

人気ブログランキング【ブログの殿堂】



TREview

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。