(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Python】TwitterのフォローをAPIを通じて自動的に行う

スポンサーリンク

はじめに

以下の記事で利用したconsumer_key/consumer_secret/access_tokenを利用して特定のキーワードをツイートしたユーザを自動的にフォローするスクリプトを利用しました。本記事ではその流れを説明します。

環境情報
  • Debian GNU/Linux 9
  • Python 2.7.13
  • tweepy 3.9.0

事前準備

tweepyというモジュールをインストールするためにpipを利用します。

# pip install tweepy
...
Collecting tweepy
  Downloading tweepy-3.9.0-py2.py3-none-any.whl (30 kB)
...
Successfully installed PySocks-1.7.1 certifi-2020.6.20 chardet-3.0.4 idna-2.10 oauthlib-3.1.0 requests-2.24.0 requests-oauthlib-1.3.0 tweepy-3.9.0 urllib3-1.25.11

下記のパスにインストールされています。

# pip show tweepy
...
Name: tweepy
Version: 3.9.0
...
Location: /usr/local/lib/python3.5/dist-packages
...

実体は.pyファイルです。

# ls /usr/local/lib/python3.5/dist-packages/tweepy
api.py   auth.py   binder.py   cache.py   cursor.py   error.py   __init__.py   models.py   parsers.py   __pycache__   streaming.pyc  utils.pyc
api.pyc  auth.pyc  binder.pyc  cache.pyc  cursor.pyc  error.pyc  __init__.pyc  models.pyc  parsers.pyc  streaming.py  utils.py

自動フォローのスクリプト

#coding: UTF-8
import sys
sys.path.append('/usr/local/lib/python3.5/dist-packages')
import tweepy
CONSUMER_KEY = "XX"
CONSUMER_SECRET = "XX"
ACCESS_TOKEN = "XX"
ACCESS_SECRET = "XX"
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

keyword = "hoge"
followcount = 1
search_results = api.search(q=keyword , count=followcount)

for result in search_results:
        screen_id = result.user._json["screen_name"]
        print(screen_id)
        api.create_friendship(screen_id)

以下、補足です。

補足

sys.path.append

の部分でtweetpyにPATHを通しています。同手当をしない場合は以下のエラーとなります。

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    import tweepy
ImportError: No module named tweepy

カスタマイズする箇所として、検索ワードは

keyword = "hoge"

フォローする人数は

followcount = 1

を修正します。

既にフォロー済のユーザが検索結果に出てきた場合は何も起きません。

終わりに

定期実行するようにcron等に登録することで自動フォローツールとして利用が可能になります。

以上、ご参考になれば幸いです。