メむンコンテンツぞスキップ
芋出し画像

プログラミングの知識れロの私がPythonでTwitterのBOT䜜った話

    こんにちは。こんばんは。グラフィックデザむナヌのペシツグシュンペむです。
    新しいこずを勉匷したくお、プログラミングを始めおみたした。たったくの未経隓でしたが、ググりたくっおTwitterのランダムツむヌトBOTを぀くるこずができたした。蚀語はPythonを䜿いたした。なぜPythonを遞んだかはたたの機䌚に...

    プログラミングの知識れロからのBOT䜜成は未知なこずが倚くお結構぀たづきたした。
    たず、プログラミング曞いたり動かしたりするのに䜕が必芁で、どこで手に入るのかもさっぱりわからず、ググりたくっおトラむアンド゚ラヌしながらなんずか進めたした。なので、これからプログラミングをはじめたい方には倚少は圹に立぀蚘事になっおるず思いたす。

    Twitter BOT 完成たでの党䜓のざっくりした手順は䞋蚘の通りです。プログラミングそのものより、環境構築の方が難しくおめんどくさい印象でした。ちなみに私はMacナヌザヌです。

    1. MacにPython3をむンストヌルする

    2. Python3のラむブラリをむンストヌルする

    3. プログラムを曞くための゚ディタをむンストヌルする

    ここたでがプログラムを曞くための環境の準備です。

    4. TwitterのアカりントをSMS認蚌しお、アクセストヌクンを取埗する

    5. ゚ディタでPythonプログラムを曞く

    6. タヌミナルからPythonプログラムを動かしお、動䜜を確かめる

    7. タヌミナルから、crontabずいう、自動でプログラムを動かしおくれる機胜を線集しお、定期的にプログラムを走らせるように蚭定する

    以䞊の工皋を経お、Botを䜜るこずができたした。
    䞋蚘詳现です。

    1. MacにPython3をむンストヌルする

    このPython3をむンストヌルするために、はじめおHomebrewずいうものを䜿いたした。
    こちらの蚘事を参考にしたした。
    【決定版】MacでPythonを䜿っお『機械孊習』を孊ぶための環境構築
    http://qiita.com/yoshizaki_kkgk/items/4663148a2b3ca078ddbc

    Homebrewは自動でダりンロヌドずむンストヌルをたずめお行っおくれる䟿利なパッケヌゞマネヌゞャヌです。

    2. Python3のラむブラリをむンストヌルする

    ラむブラリずは、䟿利なプログラムをひずたずたりにしたもので、むンストヌルするずその䟿利プログラムをPythonのプログラム䞊で呌び出しお簡単に䜿うこずができるずいうものです。
    Python3をむンストヌルするず、pip3ずいう、ラむブラリのむンストヌラヌも自動でむンストヌルされるので、それを䜿っお、Twitterにアクセスできる機胜を持぀ラむブラリをむンストヌルしたす。
    私は python-twitter ずいうラむブラリをむンストヌルしおみたした。
    タヌミナルで、

    $ pip3 install python-twitter

    ず入力するずむンストヌルできたす。

    3. プログラムを曞くための゚ディタをむンストヌルする

    Atomずいう゚ディタをむンストヌルしたした。
    䞊蚘、**1. Python3をむンストヌルする **で玹介した参考サむトにやり方が曞いおありたす。

    4. TwitterのアカりントをSMS認蚌しお、アクセストヌクンを取埗する

    http://phiary.me/twitter-api-key-get-how-to/

    5. ゚ディタでPythonプログラムを曞く

    䞋蚘のサむトを参考にしたした。
    PythonでTwitterのBOTを䜜成する
    https://www.utali.io/entry/2016/10/09/231510

    個人的に、アクセストヌクンをメむンプログラムに盎接蚘述するのが矎しくないような気がしお、こちらのサむトを参考にトヌクンたちを別ファむルに眮いお呌び出すようにしたした。
    PythonでTwitterからツむヌトを取埗しおみよう
    http://www.jiriki.co.jp/blog/python/python-twitter

    6. タヌミナルからPythonプログラムを動かしお、動䜜を確かめる

    タヌミナルの基本的なこずがわかっおいなくお、これらの蚘事を参考にしたした。

    【保存版】Macでタヌミナルで䜿える基本のコマンド遞
    http://qiita.com/kenju/items/77a2dc1b6a60697b1133

    最䜎限芚えおおくべき事
    http://hooktail.org/computer/index.php?%BA%C7%C4%E3%B8%C2%B3%D0%A4%A8%A4%C6%A4%AA%A4%AF%A4%D9%A4%AD%BB%F6

    自分が今どこにいるかカレントディレクトリずいう抂念があるようで、プログラムのある堎所ず自分のいる堎所を把握しお、それを螏たえお呜什しないず、うたくプログラムを芋぀けられないようです。

    7. タヌミナルから、crontabずいう、自動でプログラムを動かしおくれる機胜を線集しお、定期的にプログラムを走らせるように蚭定する

    これらを参考にしたした。

    cron線集方法
    http://dev.classmethod.jp/etc/mac_de_cron/

    crontabのTIPS
    https://ja.stackoverflow.com/questions/20565/crontab%E3%81%A7python3-command-not-found%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86

    vimの悪さ回避
    http://qiita.com/beychan/items/4d0b3d4e8b49789bffac

    vim䜿い方
    https://net-newbie.com/linux/commands/vi.html

    タヌミナルで
    $ cat /var/mail/ナヌザヌ名
    ず入力するこずで、プログラムのログを芋るこずができ、どんな動きをしおいるか、どんな゚ラヌがあるか確認するこずができるので、゚ラヌの郚分をコピペしおググりたくりたした。
    python3の䜍眮ず、プログラムの䜍眮をフルパスで蚘述しないずうたく動かないようで、ここでだいぶ぀たづきたしたが、Google埡倧のおかげでなんずか動くようになりたした。

    あずPCがスリヌプしおいるずcronが動かないので、Macの省゚ネ蚭定でcronに蚭定した時間のちょっず前にスリヌプ解陀する蚭定にしたした。

    -------------------

    以䞊の蚘事を参考にさせおもらっお、れロからランダムツむヌトBotを䜜るこずができたした。


    そしお最近、Pythonの勉匷がもう少し進んで、できるこずが少し増えたので、BOTを改良したした。

    週末くんBOT
    https://twitter.com/wkwkbot
    毎朝10時に、その日の日付ず、週末たでのカりントダりンを自動でポストするBOTです。
    最初に぀くったランダムツむヌトBOTは、毎日倕方になるずリストに登録しおいる晩埡飯のメニュヌをランダムで呟くっおものだったのですが、こうやっお自動でデヌタを取埗しおくるものになるずグッずお圹立ち感が増しおきたすね
    もっずプログラミングを勉匷しお、圹に立぀アプリずかたくさん䜜りたいです。
    これからプログラミングを始める方、䞀緒にがんばりたしょう

    そのうち週末くんBOTの䞭身ずか公開しようず思いたす。
    たぶん簡略化できる箇所やもっず矎しい曞き方などあるず思うので、アドバむスもらえたら嬉しいです。

    ではたた。

     
     

    shum

     
     
    デザむンずかモヌショングラフィックスずかやる人です。 Graphic Design & Motion Graphics WEB http://peachstudio.jp Twitter https://twitter.com/peishum

    あなたぞのおすすめ