【Tweepy】Pythonで単語検索からファボ、フォロー、リスト追加の三種自動化してみた【2019】

【Tweepy】Pythonで単語検索からファボ、フォロー、リスト追加の三種自動化してみた【2019】

前回のあらすじ

前回は、リツイートの自動化に挑戦し、見事成功しました! やったね!

 

以降、APIの登録とかconfigファイルの作成は終わっている前提でお話しします。分からない方は下のリンクから遡ってもらえれば分かると思います!

 

 

 

はじめに

やっほー。今回は、いろいろと合わせ技に挑戦してみたよ。

これまではただのマネっ子やったんよ。

うるせい!

今回は、単語検索をして、検索に引っかかったツイートをふぁぼ、ツイート主をフォロー、リストに追加という三種を自動化してみたんだ。

へぇ。

ソースコードは以下。

 

 

ソースコード

#coding:utf-8
import config
import tweepy
# Accesss Token Secert
CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET

auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, ATS)
api = tweepy.API(auth)

query = "わたモテ"
search_count = 100
search_results = api.search(q=query, count=search_count)

for result in search_results:
    userid = result.user.id
    username = result.user.name
    tweet = result.text
    tweetid = result.id
    print("--------------------------------------------------")
    print("名前:"+username)
    print("ツイート:")
    print(tweet)
    print("--------------------------------------------------")
    try:
        api.create_favorite(tweetid)
        print("上のツイートをふぁぼりましたよ、ご主人様。")
        api.add_list_member(user_id=userid, slug="list2", owner_screen_name="nahamot") #listにそのツイートのユーザ名を追加する
        print(username+"をわたモテリストに追加させて頂きました。")
        api.create_friendship(userid)
        print(username+"をフォローさせて頂きました。")
    except:
        print(username+"ファボ、リスト追加、フォローのいずれかに異常があるかもしれません、ご主人様ァ!?")

 

 

なんか文章きも。

ちょっとふざけてみただけなの!
AIさんと会話してる気分になれるでしょ!

オロオロオロオロオロ

吐くほど気持ち悪かったの・・・!?

 

 

内容のざっくり解説

ざっくり解説していきます。→の右側が説明で、以下とか言ってるのはまとめて解説してます。

 

 

coding:utf-8 → UTF-8でコーディングしますよ。

import config  →  コンフィグファイル呼び出し。

import tweepy  →  つうぃーぴぃ呼び出し。

 

 

以下、まとめて。コンフィグのキーを各文字列に入れ、API利用できるよう OAuthHandler に各キーを入れてる?

CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET

auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, ATS)
api = tweepy.API(auth)

 

 

query = “わたモテ”  → 検索したい単語の設定
search_count = 100  →  検索する数(上限100)
search_results = api.search(q=query, count=search_count)  →  いざ検索ッ!!

 

 

for result in search_results:  →  検索単語をfor文で個別で取り出す。
userid = result.user.id  → 検索単語を呟いたユーザーのid(数字)を取り出し。
username = result.user.name → 検索単語を呟いたユーザー名の取り出し。
tweet = result.text  →  検索に引っかかったツイートの取り出し。
tweetid = result.id  →  検索に引っかかったツイートid (数字) の取り出し

 

 

以下、いい感じにユーザー名とツイートをコマンドプロンプトに表示。
print(“————————————————–“)
print(“名前:”+username)
print(“ツイート:”)
print(tweet)
print(“————————————————–“)

 

 

以下、検索したツイート(id指定)にふぁぼ。ふぁぼったことの表示してます。
try:
api.create_favorite(tweetid)
print(“上のツイートをふぁぼりましたよ、ご主人様。”)

以下、リスト追加。スラグ (リスト名ではありません) に関しては、一度リストの情報を確認してからじゃないと分からないかもです。リスト情報の確認については、また解説します。
api.add_list_member(user_id=userid, slug=”list2″, owner_screen_name=”nahamot”) #listにそのツイートのユーザ名を追加する
print(username+”をわたモテリストに追加させて頂きました。”)

 

 

以下、ツイート主をフォロー(ユーザーid指定)
api.create_friendship(userid)
print(username+”をフォローさせて頂きました。”)

 

 以下、例外処置。すでにファボ、リスト追加、フォローなどしているとtry以下が実行できない場合があると考えて表示するのはこんな感じの文章にしています。

except:
print(username+”ファボ、リスト追加、フォローのいずれかに異常があるかもしれません、ご主人様ァ!?”)

 

 

まとめ

今回はある単語を検索して、ファボ、リスト追加、フォローを同時に行うプログラムを作成してみました。

 

 

これの使い道なんですが、コード内にある通り、わたモテファンをフォローしてそのままわたモテリストにぶち込むときに使います。

 

 

わたモテじゃなくても、あなたが好きな単語に関連するユーザーを検索、フォロー、リスト追加できちゃうんです。

 

 

リスト作成まで自動化しても良いんですが、何回も行うことを考えるとリスト作成に関しては別ファイルで実行した方が良さげなので、今回はこんな感じです。

 

 

またリスト作成に関しても記事書いていきたい所存!

以上!