Contents
はじめに
こんにちは、野村です。
今回紹介するのは、「Twitter検索したいけど、検索キーワードを考えるのが面倒」というありえないニーズに応えるスクリプトです。
題して「無気力Twitter検索」。
下準備
Twitter API Key を取得
以下のリンクにアクセスして、Twitter API Keyを取得してください。
OAuth認証のためのライブラリをインストール
pip3がなければインストールします(debianの場合)。
# apt install python3-pip
requests と requests_oauthlib をインストールします。
$ pip3 install requests requests_oauthlib
スクリプト
settings.py
取得した Consumer Key (API Key)、Consumer Secret (API Secret)、Access Token、Access Token Secret を各変数に書き込みます。
CONSUMER_KEY = "********************" CONSUMER_SECRET = "***************************************************" ACCESS_TOKEN = "**************************************************" ACCESS_TOKEN_SECRET = "********************************************"
こうやって、API Keyを別のファイルに保存しておけば、使いまわしたりするときに便利です。
main.py
プログラムの本体です。
from requests_oauthlib import OAuth1Session import json import settings import random twitter = OAuth1Session( settings.CONSUMER_KEY, settings.CONSUMER_SECRET, settings.ACCESS_TOKEN, settings.ACCESS_TOKEN_SECRET ) lt = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをんがぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽぁぃぅぇぉゃゅょ" kwd = "".join([lt[random.randint(0,len(lt)-1)] for i in range(3)]) params = {"q":kwd+" -RT", "lang":"ja", "locale":"ja", "count":"5"} req = twitter.get("https://api.twitter.com/1.1/search/tweets.json", params = params) timeline = json.loads(req.text) print ("検索キーワード:" + kwd) print ("==========") for t in timeline['statuses']: print (t['text']) print ("==========")
実行
実行するときのコマンドは「python3 main.py」です。
$ python3 main.py 検索キーワード:くんも ========== 森田くんも可愛がってあげる! ========== やれるとも。のび太くんを信じなさい。のび太くんを選んだ君の判断は正しかったと思うよ。あの青年は人の幸せを願い、人の不幸を悲しむことのできる人だ。それが一番人間にとって大事なことなんだからね。 しずかのパパ ========== @jewel_1011 阪神から唯一の石崎くんも頑張れ ‼️ ========== @MizunoRyoya 水野くん5000人もいるのは嬉しい ========== エドガーくんにもなつきたい お袖を掴む ==========
最後に
以上、Pyhton3を使い、ランダムな文字列でTwitter検索する方法を紹介しました。
Pythonは、この書籍で勉強しました。
リファレンスというより入門書。自分にはぴったりでした。
発行は2009年。でも案外、今でも有用なのじゃないだろうか?
全体的にPython2.6系列なのだけど、3.0系列もカバーしてます。
というわけで、今回はこれにて。