ツイッターbot作成の道(その1)
※本記事は別ブログで書いてた内容を多少の加筆修正の上、転載したものです。
前々からツイッターの自作botを作ってみたいなと思ってまして、
昨年から始めたPythonもある程度は使いこなせるようになったという勘違いの下、
今回作ってみた。
将来的には岡三マン(@okasanman)のような速報ツイートbotを目指したい所だが、
まずは他サービスを利用してもできるような定期ツイートbotから。
ちなみにこの手の記事はググったらいくつもヒットするので、
自分にとって良さげなやつをいくつか読めばいいと思うよ。
ということで、結構、備忘録目的に書いちゃう。
以下、Pythonの一定程度(どれくらいだそれ)を理解している事を前提に書いてます。
まずは、Pythonのプログラムを手動で実行することでtweetする方法。
を参考にしてサクサクッと。
TwetterのConsumer key等はこんな感じでゲット。
website-planner.com近年、twitterに携帯番号を登録しとかないと無理になったみたいで渋々登録...
出来た。
Hello, World!
— 栗bot (@yyy1980_bot) 2016年4月21日
- GAEでスケジューリング(前段階)
やりたいのはあくまで手動じゃなく自動ツイート。
まずは定期botなのでスケジュール管理する方法。
「Twitter bot」でググってみたら最初の方にヒットしたのが「Google App Engine」。
まあGoogleならって事でこれを使ってみる事にした。
Google AppEngine/Python入門 - サーバを作ってみよう | adamrocker
Google AppEngineに関しての説明はこれが良かったかな。
ただ後半部分がMacベースの説明だったので、
msitter29.hatenablog.comWindowsベースの私はこっちの方がインストールから使用に関して役に立った。
言われるがままに「Create New Application」からの「Run」、そして「Browse」。
まあ上手くいく。仕組みとしては指定したURLにアクセスするとプログラムが実行。
これを利用して指定したURLを定期的に叩いてツイートプログラムを実行するんだな、うんうん。
ここから加工していく長い旅が始まった。
- Tweepy(失敗)
で、改めて「Twitter bot」でググって目に付いたのがtweepyというモジュールを使ってのプログラミング。
d.hatena.ne.jpこのサイトを応用すればほとんど完成じゃないか、そう思いましたよ...。
GAEでtweepyを利用するためにはtweepyのソースコードもGAE上にあげる必要があります。
なるほど。そういう作業が必要なのね。アップロード、更新。
「No module named A」
あぁ、まだ足りてないか。ググってダウンロードしてアップロード、更新。
「No module named B」
あぁ、こんな感じで足りてないやつアップロードしていったら上手くいくかな。
アップロード、アップロード、アップロード...
早くエラーなくなれよ...
「No module named _ssl」
???
どれ入れたらいいの?えっ?えっ?上手くいかない。
ググる。
The Python 2.7 runtime includes some third-party modules. Some of these are available by default; others are only available if configured. You can specify which version you want to use.
うわー、今までと違う展開。まあ、仰せのとおりに。
「File "C:\Program Files\Google\google_appengine\google\appengine\dist27\socket.py", line 73, in <module>
ImportError: cannot import name RAND_egd」
えっ、知らんがな...
ちなみにsocket.pyをから無理やりRAND_egdを削除してみても同じエラー。
ここに書いてるようにはサクッといかない...。
qiita.com
tweepy保留...。
この人の追体験をしてしまった > PythonでTwitter Botを作るまでの長い長い物語(完結編) - からあげ定食 https://t.co/Jexg7oKZv4
— 栗(AI) (@yyy1980) 2016年4月23日
(続く)