#TLが騒がしくない?
どうも、LilyMameokaです。お久しぶり。私ね、常日頃思っていたんですけど、TL、騒がしくない?
何かアニメが放送されている時間とか(日曜の朝とかね)、某コンビニ大手がキャンペーンやってる時とか、某ソシャゲがキャンペーンやってる時とか、某富豪やYoutuberがプレゼントキャンペーンやってる時とか、○断メー○ーとか...。普通にTLが賑やかなのはいいんですけど、先程挙げた、見ている側には無益なツイートでTLが騒がしいのは不快ですよね。どうでもいいツイートでTL埋めやがってクソが。
あと、折角現実逃避しにTwitterに来たのに、週刊誌が扱うようなTHE☆俗世なワードが流れてくるのもムカつくので...
トレンドワードを片っ端からミュートして平和なTLを取り戻したいと思いま〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜す!!!!
#トレンドの取得
まずはトレンドワードの取得です。ただし、トレンドワード全部から処理すると、かなりの量のユーザーをミュートしてしまうので(それは申し訳ないので)、ハッシュタグのついているものだけを取得したいと思います!
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tweepy
CONSUMER_KEY=''
CONSUMER_SECRET=''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
def get_trends(api):
trend = api.trends_place(23424856)[0]
trends = trend['trends']
print(u"Trends:")
for i in range(len(trends)):
print(u"\t{0}".format(trends[i]["name"]))
if __name__ == '__main__':
api = tweepy.API(auth)
get_trends(api)
これを実行すると...
Trends:
#この夏に水着姿を見たいキャラ
#キン肉マンアニメ化
#彼女からの予測変換でリア充がバレる
#ドスパラ春のセールでほしいもの
#少クラ
#現金給付
#まあたそ大先生
#ムジカピッコリーノ
#エイトちゃんのおたんじょう日会
#あなたのおっさん度診断
#関ジャニ8TV
#かずみんモバメ
#水着の上下重ねて
#グラクロ攻略質問
#うちで踊ろう
お!出てきたね〜〜〜。今回は日本のトレンドを対象にしているので場所のIDは23424856です。調べたら、東京は1118370らしい。
#平和なTLへ!!
さーて、本題。
**と思いきや!**なんと、TwitterAPIはキーワードミュートに対応していないとのこと。
https://stackoverflow.com/questions/55916527/is-there-a-way-to-create-and-destroy-muted-words-using-the-twitter-api
うーん。仕方ない。その単語をツイートした人をミュートしちゃお☆
私のTLの平和のためには多少の犠牲も仕方ないのだ!許してね♡
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tweepy
CONSUMER_KEY=''
CONSUMER_SECRET=''
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
mute_words = []
def get_trends(api):
trend = api.trends_place(23424856)[0]
trends = trend['trends']
for i in range(len(trends)):
if trends[i]["name"].startswith("#"):
mute_words.append(trends[i]["name"])
def mute():
api = tweepy.API(auth)
get_trends(api)
count = 1 #各ワードにおけるお好みのミュート数を入れてください
for mute_word in mute_words:
print(mute_word)
search_res = api.search(q = mute_word,count = count)
for res in search_res:
print(res.user.screen_name)
api.create_mute(res.user.screen_name)
print("--------------------------------------")
if __name__ == '__main__':
mute()
よし!!!これで平和なTLが取り戻せた!素晴らしいね!
早速、快適なTLで現実逃避してきま〜〜〜〜〜〜〜〜〜す!!