『入る学科間違えた高専生』の日記

プログラミングのコードを書いたりする予定です。あとは日記等。あといつまで高専生やねん

【Python3+MySQL+Twitter】ツイートからデータベースにデータを追加する

はじめに

今回は,自分が以前PHP + MySQLで作ったToDoアプリに自分がツイートしたら新しくタスクを追加したいという
考えから始まりました.

github.com

一応リポジトリリンク貼っておきます

タスク追加までの流れ

  1. ツイート(フォーマットあり)
  2. Pythonがツイートを読み取る
  3. MySQLにインサート

やったこと

Twitterアプリ登録

https://apps.twitter.com/apps.twitter.com

ここで新しくアプリを作り,ConsumerKeyなどを入手.パーミッションReadのみでもOK

Python関係の準備

Tweepymysql-connector-pythonを使用するのでpipでインストール.したいところだったけど後者インストール時にエラーがでた....

Collecting mysql-connector-python
Could not find a version that satisfies the requirement mysql-connector-python (from versions: )
No matching distribution found for mysql-connector-python

とのこと.よくわからないけど,とりあえずソースからインストールすることにした.

とりあえずTweepyは入れておく

$ pip install tweepy

mysql-connector-pythonは以下リンク

mysql-connector-python · PyPI

解凍→ディレクトリ移動→python setup.py install

コーディング

今回の環境

ToDoアプリにツイートからタスクを追加

26行目に自分のTwitterIDといつもメモ代わりに「ひやかし帳」というハッシュタグを使っているのでそれを使用した.

あとはデータベースに接続してインサートして,切断しておわり.


ちなみにツイートのフォーマットは以下

https://twitter.com/nnsnodnb/status/700252060835426305

半角スペースで区切って「タイトル」,「終了予定日」,「優先順位
タイトルに「_」があればスペースに置き換える

nnsnodnb's Profile

ツイートで追加できるようにはしていませんが,一応デモサイトがあるのでご自由にお使いください.

参考サイト

カレーメシ先輩の記事を参考(ほぼパクリ)にさせていただきました.

nwpct1.hatenablog.com

最後に

今週末から東京にまた行くので,その時に秋葉原の秋月さんに寄って赤外線モジュールを買って,エアコン制御とかをしたいなぁって思っています.

追記(2016/02/12)

どうやらTwitterAPI自体が日本語フィルタに対応していないらしいので暫定的にif文で処理するしかなさそうです

[Python]twitterのstreaming APIは日本語によるフィルタリングが未対応。 | Kimux.Net