めんどくさいおじさんをブロックするプログラムを書いた
暇だったので書いてみた。
経緯
Twitterにて。
プロフィールに「面白きことのなき世を面白く」もしくは「つれづれなるままに」と書いてる人は、基本即ブロックして弊害がない。
— しの(体質改善) (@raf00) 2017年10月19日
インターネット黎明期から20年間、多くの人が体験してきた大事な学びです。
Togetterもあった。
プロフィールに「面白きことのなき世を面白く」は即ブロックで問題なし。インターネットの歴史20年の学びです。- Togetter
使うもの
今回もVPSのDebianを使いました。適当に構築してください。
Tweepyのインストール
皆さんご存知のTwitterAPIをPythonから使えるようにするためのライブラリ。
Githubにもあるので書く必要ないですが一応。
sudo pip install tweepy
git clone https://github.com/tweepy/tweepy.git
cd tweepy
sudo python setup.py install
ツイプロ検索APIについて
公式のTwitterAPIではbioの取得はできますが、bioからの検索ができないっぽい(?)
さすがにすべて取得して検索は面倒なのでツイプロのAPIを使用します。
このAPIに検索ワードを投げると、公式のAPIと同じようにユーザ情報がJSON形式で返ってきます。
bioのみを検索するのかと思いましたが、挙動を見る感じユーザ情報全体を検索してデータが返ってくるようです。(つまりbioに指定の単語が入っていなくても、スクリーンネームに入っていると引っかかる。)
あとこのAPIの取得件数が最大300件で、公式APIのように一度の問い合わせに対する最大取得件数ではなく上限300件の模様。
なので300件を超える場合には対応できなくなるかも。(取得件数は見れるので300件を超えているかどうかは分かる)
TwitterAPIの取得
このサイトがわかりやすい。
プログラム
APIkeyなんかは適宜書き換えてください。
#coding:utf-8
import tweepy
import json
import urllib2
import urllib
#各種キーの設定
CONSUMER_KEY = "xxxxxxxxxxxxxxxxxxxxx"
CONSUMER_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = "xxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
#リクエストURLの設定
params = {
#検索ワード(必要に応じて変更)
"q":"面白きことのなき世を面白く",
#取得数(最大300)
"num":300,
}
p = urllib.urlencode(params)
url = 'https://twpro.jp/1/search?' + p
#JSONの整形
r = urllib2.urlopen(url)
root = json.loads(r.read())
user = root['users']
count = root['count']
#APIインスタンスの作成
api = tweepy.API(auth)
#取得できた人数分ブロック処理
for i in range(count):
user_name = user[i]['name']
screen_name = user[i]['screen_name']
#ブロック
api.create_block(screen_name)
#完了メッセージ
print u"%s(%s)さんをブロックしました。" % (user_name,screen_name)
他にも・・・
togetterを見ると、他にもあるらしい。
ソースコード内のparams
の検索ワードを変えることで対応できます。
- "のらりくらり"
- 一人称が小生
- 性別:生物学上は◯性
- "日本をこよなく愛する"
- "普通の日本人"
- "普通のおっさん"
- "貴女"
- "ただの日本人です"
- "◯◯なナマモノ"
あとがき
次はナイーブベイズとかでやりたいです。
Author And Source
この問題について(めんどくさいおじさんをブロックするプログラムを書いた), 我々は、より多くの情報をここで見つけました https://qiita.com/ponkio-o/items/721b648c30d8e848b2d4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .