Pyhton3を使い、ランダムな文字列でTwitter検索

はじめに

こんにちは、野村です。

今回紹介するのは、「Twitter検索したいけど、検索キーワードを考えるのが面倒」というありえないニーズに応えるスクリプトです。

題して「無気力Twitter検索」。

下準備

Twitter API Key を取得

以下のリンクにアクセスして、Twitter API Keyを取得してください。

Application registration & configuration for developers using the Twitter REST & Streaming APIs.

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系列もカバーしてます。

というわけで、今回はこれにて。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

野村 野村のプロフィール
枕は高いほうがいい。高いほうが本を読みやすいのですよ。なので広めのタオルケットを何重にも折りたたんでその上に枕を載せてその上に頭を載せてたりする。twitterやってます