2012年12月26日水曜日

twitterの自動フォロワー管理ツールをつくってみた

GAE × Python2.7 × Twitter Api1.1でtwitterの自動フォロワー管理ツールをつくりました。


最初フォロー・フォロー削除共に1日480件という設定にしていたら、アップして数時間で速やかにtwitterからアカウント凍結されました。。まあさすがに1日48件なら大丈夫だろうと思ってるんですが、2回目以降凍結されると復活が困難らしいので、近日中にtwitterで新たな船出を迎えるかもしれません。

機能は下記になります。自分的にはかなり素早く作った方で、仕事終わりに半分寝ながらつくっていたので抜け漏れが結構ある可能性があります。今のところこれで特に問題なく動いているのですが、稼働させたばかりなので根本的なミスをしている可能性もあります。

・設定したキーワードをつぶやいている人を自動でフォローする
 (キーワードは3つまで設定できる)
・1日当たりのフォロー数も自由に設定可能(様々なリスクがあるので最大100件まで)
・フォローしてから一定期間経ってもリフォローされない場合は、フォロー解除する
・フォロー解除までの日数も自由に設定可能
・1日当たりのフォロー解除数も自由に設定可能(同じく最大100件まで)
 (でも100件でも十分凍結対象になりうるらしい。)
・フォロー解除したくないアカウントは、twitterのリストに登録しておけば、
 フォロー解除対象から外れる
・フォローする際は、以前フォロー削除したアカウントかどうかを確認して、
 以前のフォロー削除から一定期間が経過していない場合はフォローしない

このぐらい。リフォロー機能はまだない。

今回はtweepyという、python用のtwitter API操作モジュールを使いました。ただtwitter API 1.1 にtweepyが対応していなかったのですが、こちらsakitoさんという人がtweepy2というのを作ってくれていたのでこれを使わせていただきました。今回作った限りでは問題なく動いてます。ありがたいです。

2012年12月23日日曜日

GAEで純粋Django1.4を使う

環境はMacです。Eclipse×GAE×Python2.7を使ってます。純粋Djangoを使えるようになっていることを知ったので使ってみたいと思います。

参考にしたサイトは、下記2点です。

Windows7 x64 で、GAE/P(1.7.0) + Django 1.3 の環境を構築する
GAE 1.6+Django 1.2

前提としてGAEの基本的な開発環境はインストールされているものとします。

Djangoのインストール

まず、Djangoをローカル環境にインストールします。

僕はまずeasy_installをインストールしました。
sudo curl -O http://peak.telecommunity.com/dist/ez_setup.py

sudo python2.7 ez_setup.py

参考にpython2.7 ez_setup.pyの結果もメモしておきます。
Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
Processing setuptools-0.6c11-py2.7.egg
Copying setuptools-0.6c11-py2.7.egg to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Adding setuptools 0.6c11 to easy-install.pth file
Installing easy_install script to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
Installing easy_install-2.7 script to /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin

Installed /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11

上記のeasy_install-2.7がインストールされたフォルダをPATHに追加します。
export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH

Djangoをeasy_install-2.7を使ってインストールします。
sudo easy_install-2.7 django

Djangoプロジェクトを作成する

Djangoを使わないなら、Google App Engine Launcherでプロジェクトを作成できますが、Djangoを使う場合、まずはdjango-admin.pyを使ってプロジェクトを作ります。

任意のフォルダにcdで移動してから、下記を実行します。
django-admin.py startproject myproject

任意のフォルダの中に、myprojectフォルダが出来、その中にまたmyprojectフォルダが出来、その中に下記4ファイルが出来ます。

__init__.py
settings.py
urls.py
wsgi.py

app.yamlとmain.pyの作成

今回はこれらファイルと同じ場所に、app.yamlとmain.pyを作成します。

app.yaml
application: myproject
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: .*
  script: main.app

libraries:
- name: django
  version: "1.4"

main.py
import os
# specify the name of your settings module
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
app = django.core.handlers.wsgi.WSGIHandler()

Google App Engine Launcherへの登録と起動

次に、Google App Engine Launcherに登録します。 File > Add Existing Applicationにて、作成したプロジェクトのフォルダー(myprojectの中のmyproject)を登録します。 LauncherでRun > Browse して、下記のようなページが出たらDjnago連動成功。


MacのPATH追加方法

ターミナルで下記のようにやるようだ。

export PATH=/usr/local/bin/endo/yuta:$PATH

追加したいパスをPATH=の後に書いて、最後に:$PATHを追加する

MacにPython2.7をMacPortsを使ってインストールする

macにpython2.7をインストールしようと思って色々調べていたら、MacPortsがあればターミナル上で超簡単にインストールできるということで、MacPortsをインストールしようと思ったら、MacPortsにはXcoe Toolsのインストールが前提になるということだったので、Xcode Tools -> MacPorts -> Python2.7の順にインストールした。

Xcode Toolsはこのサイトから'Xcode Tools'を調べてDVDイメージみたいな900MB超のやつをダウンロードしてインストールしたら問題なくOKだった。

MacPortsはこのサイトから自分のmac osバージョンに合わせてダウンロードして、インストールしたら問題なくOKだった。

上記はこのサイトを参照した。

その後、下記のようにPython2.7をインストールしようとした。

sudo port install python27

しかし、下記のようなエラーになった。

Error: Unable to open port: can't read "build.cmd": Failed to locate 'make' in path: '/opt/local/bin:/opt/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin' or at its MacPorts configuration time location, did you move it?

下記のサイトを参考にした。
■[MacPorts]MacPortsで Error: Unable to open port: can't read "build.cmd" とエラーが出た時の対処方法

僕がダウンロードした、Xcode ToolsのDVDイメージは、"xcode312_2621_developerdvd.dmg"だったが、これには"Packages"というフォルダがある。その中の"DeveloperToolsCLI.pkg"をインストールしたら、エラーが出ずにPython2.7をインストールできるようになった。

MacPortsを使ってインストールしたPython2.7は、/opt/local/binに保存される。

2012年12月20日木曜日

Androidアプリ - Callcenter Calculator コールセンター計算機 をつくりました。


Titaniumでコールセンター計算機をつくりました。

Callcenter Calculator - コールセンター計算機です。入電数や処理時間などを入力すると、必要席数やコストを算出します。必要席数はアーランC式によって計算します。 月間入電数、平均通話時間、平均後処理時間、目標応答率、管理者比率などを設定すると共に、SV、オペレータの支払い時給や社保、交通費、シェアード運用有無などを設定することで、必要席数とコストを試算します。またコールセンターをアウトソーシングした場合(あるいはアウトソーシングサービスとして販売する場合)の売値及び利益率なども合わせて試算します。



Google play: コールセンター計算機