読者です 読者をやめる 読者になる 読者になる

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

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

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

はじめに

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

github.com

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

タスク追加までの流れ

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

やったこと

Twitterアプリ登録

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は以下リンク

Index of Packages : Python Package Index

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

コーディング

今回の環境

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

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

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


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

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

http://nnsnodnb.moe/todo-php

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

参考サイト

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

nwpct1.hatenablog.com

最後に

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

追記(2016/02/12)

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

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

入る学科間違えたと気付いた時にはもう遅かった

地獄を生きていくこのサバイバル高専生活果たしてどう生きていく