Hatena::Grouptwitter

かえるさんのめも

行儀の悪いRSSクローラー対策ですべて「続きを読む」以降に記載しています
twitter [@Frosch_Badger]

2010-01-04

Google App Engine for Javaでbotを作る際の参考リンク

| 09:16

Javaは後回しにしてしまったけどそのうち触ることになると思うのでリンク先だけサルベージ

最低限必要なもの

  • JDK 6 Update 17
  • Eclipse IDE for Java EE Developers
  • Google App Engine for Java
  • GAEのアカウント
  • Twitter4J
インストールまで
GAEでTwitterのbotを作る のまとめページ ど初心者でもわかる設定のしかた(Java版)
入れた順番はJDK 6 Update 17→Eclipse IDE for Java EE Developers(展開してみたら3.4系だった)→ Pleiades 1.3.1(iniは3.4x系のもの)→JStyle(Eclipse 3.4.2 用)→Google App Engine for Java
Javaのおべんきょう
とほほのJava入門
最終更新が2005年なので1.4とかの頃かも。
【改訂版】Eclipseではじめるプログラミング
JRE6+Eclipse3.4での解説、bot作成環境に一番近い初心者向け解説かもしれない
実際に作る
陽昇れども地の底に光届かず 「GAE + Twitter4J + Java」 によるbotの作り方
非常に詳しい。
その他
@IT キーワードINDEX
読み物として

2010-01-03

Google App Engine for Pythonでbotを作る際の参考リンク

| 09:45

勉強するよ!ということでリンク先だけサルベージ

じゅんび

ど初心者でもわかる設定のしかた(Python版)
Vistaも同じように入れてOKだったが、UACの関係でprogram fles以下のフォルダにはインストールしない方がいいと思う。PythonとGAE両方にパスを通すのを忘れないこと
Google App Engineでエラーが
dev_appserver.pyを起動した際にsimplejson関連のエラーを吐いた時の対処法
Pythonのおべんきょう
プログラミング言語 Python の紹介
紹介。どんなものかまず知らないといけない気がした
プログラム言語Python
名古屋大学の物理化学研究室のサイト。講義でPythonを使ってる模様。講義を追っていく感じで文書を読み進めることができるのでプログラミング未経験者にもわかりやすい。
地球環境情報学研究室 - 専門情報処理演習(2009)
高知大学・菊地時夫教授による講義ログ。第7回以降がPythonだがこちらもプログラミング未経験者向けの講義のため、非常にありがたい。
初心者のための pygame ガイド
読んだほうがいいってどっかで見た、でもいまはまだ読んでもちんぷんかんぷん。
Python チュートリアル 日本語訳
オライリー本そのままらしいので読んでみる。まだ本買ってまで頑張るところまでいってないのでチュートリアルから。
Python チュートリアル メモ1 5章まで
Python チュートリアル メモ2 6章~最後
pythonチュートリアルを呼んだときのメモ
上記チュートリアルのさらにメモ、他の人が詰まってる=自分も確実に詰まるので補足に感謝しつつあわせて読む
プログラミング工房 > Pythonの部屋
サンプルソースコードとか、のちのちのために
つくる
Google App Engineを使ったTwitterBotの作り方
一番単純な垂れ流しのサンプル
TwitterBot on GAEにReplyさせる(その1)
replyのサンプル
TwitterBot on GAEのTwitterからのデータ取得をXMLからJSONにする
JSONでAPIを利用する方法
setを使って、twitterの片思い、片思われ、両思いを取得する
follow・followerの取得方法
GAEでTwitter botを作った
実際に稼働してるbotのサンプル・ソース
twython / examples
twythonのサンプル・ソース
その他
@IT キーワードINDEX
読み物として

2009-12-28

Google App Engine Python + PHPでbotを動かす

| 00:35

本当はJavaかpythonで動かしてやる!とか意気込んでたんですが基礎知識の無い人には無理でした。暇なときに勉強するといいんでしょうけど知人に勢いで作ると言ってしまった手前、できることなら年があける前に設置だけでもという状況だったので出来合いのものを設置することにしました。

bot本体

PHPが動く無料鯖をたまたま借りていたので、PHPで作られたものを設置して外部からcronで呼び出すことに。設置したのは下記サイトさんのモノ

phpが644でも動く鯖だったので、UTF-8N(UTF-8 BOM無し)+CRLFで保存し(LFでもいいかもしれない)、asciiでアップしてパーミッションをPHPを644・データファイルを604にしました。

replyするタイプと垂れ流すタイプを併用する場合はそれぞれのPHPを設置した上で両方を適切な時間間隔でcronで回せばいいようです。わたしはcronはGAE Pythonで回してますが、垂れ流し(60分おき)は1~2日に1回・reply(5分おき)は2~3時間に1回程度失敗しつつなんとかぎりぎり稼働してる感じです。

cronの設定に関しては前日の日記参照

2009-12-27

GAE Pythonのcron設定メモ

| 23:55

cronとかって1つのファイルに2つ以上設定をかけるらしい=GAEapp1つで結構ややこしいBotの運用もできるかもしれないということで調べてやってみた

他のサイトに有った記述を参考にしてるメモなので質問は受け付け(られ)ません。googleで「Google App Engine Python app.yaml cron.yaml」で検索すると幸せになれると思います。

参考サイト

突撃して先方にご迷惑をかけるなどはしないで下さい。わたしはgoogle検索だけで設定できましたから、わからないところは検索して調べましょう。

あとyamlでcron回す頻度とかスケジュールを決めるんですが、書き方を工夫すれば結構細かく設定できるみたいです。中の人はまだ理解が非常に浅いので、詳しくはぐぐってください。

実際の設定

下記のようにしましたよ、という忘備録

PHPを呼び出すためのpyファイル(らしい)
#!/usr/bin/env python

import urllib2
req = urllib2.Request("「botのPHPファイル」")
f = urllib2.urlopen(req)

という.pyファイルを垂れ流し/replyそれぞれ1つづつ作って、cronで垂れ流し1時間・relpy5分で回しています。


app.yaml

ここから

application: ******(GAEのアプリ名)
version: 1
runtime: python
api_version: 1

handlers:
- url: /cron/post
 script: ****.py
  login: admin

- url: /cron/reply
  script: *****.py
  login: admin

ここまで

1つ目が1時間おきに垂れ流し、2つ目がreplyに反応する方


cron.yaml

ここから

cron:
- description: post_random
  url: /cron/post
  schedule: every 1 hours
- description: reply_pattern
  url: /cron/reply
  schedule: every 5 minutes

ここまで

1つ目が1時間おきに垂れ流し、2つ目がreplyに反応する方

jobを見ているとたまに失敗していますが、そこそこ安定して回してくれてるみたいです。