Webアプリの素人である私が Google App Engine で twitter bot を作ろうとしている過程の記録です.
1. Google App Engine SDKのインストール.
2. Twitter API のお勉強.
この記事がとても参考になりました.
3. python-twitterのダウンロード.
4. simplejsonのダウンロード. (python-twitterが依存している)
5. 試しに、ハマコーさんのタイムラインを取得してみます.
しかし、エラー!
python-twitterのIssue 59にパッチがあったのでこれでエラーを回避.
ところが、またもエラー!
こんどは、googleappengineの Issue 1504 でPython 2.5を使えとのこと.
Python2.5に入れ替えてみると、また違うエラーが!
これは、実行中のPythonがunicode型の文字列をASCIIコードで出力しようとして起きているもののようです. なので print 文を下記のように変更.
これで、ようやくハマコーさんつぶやきが表示されました!
今日はこれまで.
1. Google App Engine SDKのインストール.
2. Twitter API のお勉強.
この記事がとても参考になりました.
3. python-twitterのダウンロード.
4. simplejsonのダウンロード. (python-twitterが依存している)
5. 試しに、ハマコーさんのタイムラインを取得してみます.
import twitter
api = twitter.Api()
statuses = api.GetUserTimeline('555hamako')
for s in statuses:
print s.text
しかし、エラー!
File "~/twitter-bot/twitter-bot.py", line 6, in
api = twitter.Api()
File "~/twitter-bot/twitter.py", line 1332, in __init__
self.SetCache(cache)
File "~/twitter-bot/twitter.py", line 2024, in SetCache
self._cache = _FileCache()
File "~/twitter-bot/twitter.py", line 2265, in __init__
self._InitializeRootDirectory(root_directory)
File "~/twitter-bot/twitter.py", line 2325, in _InitializeRootDirectory
root_directory = self._GetTmpCachePath()
File "~/twitter-bot/twitter.py", line 2319, in _GetTmpCachePath
username = self._GetUsername()
File "~/twitter-bot/twitter.py", line 2313, in _GetUsername
os.getlogin() or \
AttributeError: 'module' object has no attribute 'getlogin'
python-twitterのIssue 59にパッチがあったのでこれでエラーを回避.
ところが、またもエラー!
File "/usr/lib/python2.6/multiprocessing/__init__.py", line 83, in
import _multiprocessing
ImportError: No module named _multiprocessing
こんどは、googleappengineの Issue 1504 でPython 2.5を使えとのこと.
Python2.5に入れ替えてみると、また違うエラーが!
File "~/twitter-bot/twitter-bot.py", line 11, in
print s.text
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-34: ordinal not in range(128)
これは、実行中のPythonがunicode型の文字列をASCIIコードで出力しようとして起きているもののようです. なので print 文を下記のように変更.
for s in statuses:
print s.text.encode('utf-8')
これで、ようやくハマコーさんつぶやきが表示されました!
今日はこれまで.
コメント
コメントを投稿