LoginSignup
6
6

More than 5 years have passed since last update.

【Python】Tweepyで特定単語が含まれたツイートをいいね、RTするやつ

Posted at

やること

・新規アカウントの取得
・Twitter apiをつかう
・Tweepyのインストール
・Pythonでツイッターの検索
・単語が含まれるツイートを自動RT、いいね
・一定数リストに追加されたアカウントをフォロー

大体参考の通りに進めた

【Python】 Tweepyで、ツイート・フォロー・リムーブ・検索・画像投稿する方法をまとめてみた

RTを取り消すのはここから
Twiter APIを使ってRetweetを取り消す処理

ここからやったこと

検索ワード含むツイートをリストに100件取得してその中からランダムで一つリツイートいいね

like_RT.py
import urllib.request
from requests_oauthlib import OAuth1Session
import requests
import tweepy
import os
import random
# 各種キーをセット
# ******に各自の数値を入力
CONSUMER_KEY = '******'
CONSUMER_SECRET = '******'
ACCESS_TOKEN = '******'
ACCESS_SECRET = '******'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#apiを取得
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#APIインスタンスを作成
api = tweepy.API(auth)
my_id = "search_words"

#Hello, world!と投稿するテスト
# api.update_status('Hello, world!')

word = "******" #検索する単語
count = 100
search_results = api.search(q = word, count = count) #q: 検索ワード, count: 検索ツイート数

#ユーザー名を取得しそのユーザーのツイートにいいねとフォロー
result = random.choice(search_results)
username = result.user._json['screen_name']
user_id = result.id #ツイートのstatusオブジェクトからツイートidを取得
print(user_id)
user = result.user.name #ツイートのstatusオブジェクトからuserオブジェクトを取り出し名前を取得する
print(user)
tweet = result.text #ツイート内容を取得
try:
    api.create_favorite(user_id) #いいね
    print(user)
    print("をいいねしました")
    api.retweet(user_id) #RT
    print(user_id)
    print(tweet)
    print("をRTしました")
except: #重複してRT,いいねができないためエラーを出すので例外
    print("もうすでにいいねかRTしてます")
print("##################")

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6