Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
17
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

TweepyでTwitterの検索, いいね, リツイート

はじめに

tweepyを用いて, 特定のワードを検索する方法について説明します. そして, その検索結果からいいね, リツイートおよびフォローをする方法についても説明します.

検索

api.search()を使うことで検索ができるようです.
引数qで検索したいワードを, 引数countで検索結果の取得数を指定できます.

import tweepy

# 先ほど取得した各種キーを代入する
CK="Consumer Key"
CS="Consumer Secret"
AT="Access Token"
AS="Access Token Secret"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)

api = tweepy.API(auth)

#1ツイートずつループ
for status in api.search(q='肉フェス', count=50):
    #見映えのため区切る
    print('-------------------------------------------')
    #ユーザ名表示
    print('name:' + status.user.name)
    #内容表示
    print(status.text)

いいね

create_favorite()を使うことで, ツイートにいいねすることができます. その際, 引数にいいねしたいツイートのidを渡す必要があるようです.
特定のキーワードを検索して, 最新50件のツイートにいいねしてみましょう.
ちなみに, 重複していいねをするとエラーが起こるそうなので, 例外処理にしておくとプログラム途中で止まることが無くなります.

import tweepy

# 先ほど取得した各種キーを代入する
CK="Consumer Key"
CS="Consumer Secret"
AT="Access Token"
AS="Access Token Secret"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)

api = tweepy.API(auth)

# 1ツイートずつループ
for status in api.search(q='肉フェス', count=50):
    tweet_id = status.id
    # 例外処理をする
    try:
        # いいね実行
        api.create_favorite(tweet_id)
    except:
        print('error')

リツイート

retweet()を使うことでリツイートができます. いいねと同様に, 引数にリツイートしたいツイートのidを渡す必要があります.

import tweepy

# 先ほど取得した各種キーを代入する
CK="Consumer Key"
CS="Consumer Secret"
AT="Access Token"
AS="Access Token Secret"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)

api = tweepy.API(auth)

# 1ツイートずつループ
for status in api.search(q='餃子フェス', count=50):
    tweet_id = status.id
    # 例外処理をする
    try:
        # リツイート実行
        api.retweet(tweet_id)
    except:
        print('error')

フォローする

create_friendship()を使うことでフォローすることができます. 引数にフォローしたいユーザーのidを渡す必要があります. 先程までのツイートのidとは異なるので注意してください.

import tweepy

# 先ほど取得した各種キーを代入する
CK="Consumer Key"
CS="Consumer Secret"
AT="Access Token"
AS="Access Token Secret"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)

api = tweepy.API(auth)

# 1ツイートずつループ
for status in api.search(q='野球', count=50):
    # ツイートid
    tweet_id = status.id
    # ユーザid
    user_id = status.user.id
    # 例外処理をする
    try:
        # フォロー実行
        api.create_friendship(user_id)
    except:
        print('error')

関連記事

TweepyでTwitterに投稿する
TweepyでTwitterのタイムラインを取得する

参考サイト

PythonとTwitterAPIを用いて自動いいねやリツイート、フォローを行う

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
17
Help us understand the problem. What are the problem?