python PR

pythonでtwitterのリツイート方法を応用してみる【サンプルコード付き】

python ツイート リツイート
記事内に商品プロモーションを含む場合があります

twitter運用に力を入れている人は、一日に数時間、twitter運用に時間を取られてしまいますよね

クラウドワークスなどの案件を見ていると、SNS運用代理やSNS自動化ツールの作成などが多く並んでいます

全てを自動化してしまうと、人間味がないので、一部は自動化・一部はマニュアル、と使い分けるのがいいと思います

僕がpythonを使って作成したtwitter自動化ツールを使用すれば、インプレッション数やフォロワー数を増加させることに成功しました

twitter運用の効率化を図ります

今回は、twitter自動化ツールから、リツイートを行う方法を少し応用したコードを紹介していきたいと思います

pythonでtwitterを操作してみたい

pythonでtwitterのbotを作成したい

pythonでtwitterを自動化したい

といった方に向けて、書いていきます!

以下の記事では、pythonでtwitterを使う方法をまとめて解説しているので、参考にしてみてください

pythonでtwitterを使ってみよう

pythonでtwitterを扱えるようになると、twitterで行われている懸賞に自動で応募することができるようになります

pythonでtwitterの懸賞に自動応募する
pythonでtwitterの懸賞に自動応募させる【サンプルコードあり】twitterを見ていると、「フォロー&リツイート」でプレゼント企画を行なっているのをよく見かけます。これ、手動で懸賞に参加するのってしんどいですよね。なので、pythonを使って、自動化をしていきたいと思います。...

pythonでtwitterを操作する

pythonでtwitterを操作する

pythonでtwitterを操作するには、

  • python-twitter
  • TwitterAPI
  • tweepy
  • twython

などのライブラリを使用する必要があります

今回は「tweepy」を使って、pythonでtwitterを操作していきたいと思います

pythonでtwitterを使用するには、事前にtwitter APIの申請を通しておかないといけません

twitter APIの申請は年々厳しくなっていますが、僕が2022年に承認を受けた方法はこちら

pythonでtwitter APIを使用する方法
pythonでtwitter APIを取得する方法【全18枚の図解+例文あり】twitterのAPI取得は年々厳しくなってきています。今回は筆者が2022年にpythonでtwitter APIを取得するために行なった方法を図解+例文つきで紹介していきます。pythonでtwitterを利用する際には、twitter APIの取得が必須になるので、参考にしてください。...

tweepyについて

tweepyとはtwitter APIをpythonで簡単に操作するためのライブラリです

APIを使用しないで、twitterから情報を収集してこようとすると、スクレイピングの知識とかが必要になりますが、tweepyを使用することで、簡単に情報を収集することができます

  • ツイートのID
  • ツイートした時刻
  • いいねされた数
  • リツイートされた数
  • ツイート内容
  • ID
  • ユーザー名
  • アカウント名
  • 自己紹介文
  • フォロー数
  • フォロワー数
  • アカウント作成日時
  • 自分がフォローしているか?
  • アイコン画像のURL
  • ヘッダー画像のURL
  • WEBサイト

上記のデータはtweepyを使って簡単に収集することができます

さらに、収集したデータをcsvに保存したり、いいね数が100以上のものに限定したりと、さまざまなことが簡単にできます

詳細は以下の記事で解説していますので、合わせてお読みください

pythonでtwitter APIを利用してツイートを取得する【サンプルコードあり】

pythonを使ってツイートをリツイートする

pythonを使ってツイートをリツイートする

ここからはpythonでtwitterを操作していきたいと思います

tweepyを使って、ツイートをリツイートするには、以下のコードです

api.retweet(tweet_id)

または

api.retweets(tweet_id[,count])

上記のコードでは指定したツイートの最初から100までリツイートを行います

count=○

でリツイートする数を調節することもできます

基本的には、for文を回してretweetしていくことが多いかなと思います

pythonでリツイートするサンプルコード

import tweepy

#Twitter情報。これは公開NG。
#********には自分自身のAPIキーなどを入力してください

consumer_key        = '********'
consumer_secret     = '********'
access_token        = '********'
access_token_secret = '********'

#Twitterの認証
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

# 指定した条件(検索ワード、検索件数)に一致するユーザ情報を取得

search_results = api.search_tweets(q="", result_type="mixed",count=20)
for result in search_results:
    tweet_id = result.id #Tweetのidを取得
    user_name = result.user._json['screen_name'] #ユーザーのidを取得
    user_id= result.user._json['id']

    try:
        api.retweet(tweet_id) #リツイートする
    except Exception as e:
        print(e)

「q=””」の中に特定のキーワードを入力することで、そのキーワードについてツイートしているツイートをリツイートしていくことができます

今回はcountで20件、リツイートするようにしています

リツイートの応用

24時間稼働させておくことで、キーワードが含まれるツイートがツイートされた場合に、リアルタイムでリツイートすることも可能です

また、特定のアカウントのタイムラインを監視して、変化があった場合に最新のツイートをリツイートする、といったことも可能です

ただし、twitter運用を行なっていく上で、あまりにも早すぎるリツイートや毎回同じようにリツイートをしていると、bot感が出てしまいます

そこで、該当のツイート時刻と現在時刻をマッチさせ、同じであった場合には、waitの時間を作る、といった可能です

以下がサンプルコードです

サンプルコードでは、if分の分岐をリツイートではなく、いいねにして、違いがわかるようにしています

import tweepy
import time
from datetime import datetime,timezone
import pytz

#関数: UTCをJSTに変換する
dt=datetime.now()
time_str=dt.strftime("%Y-%m-%d_%H:%M:%S")

print(time_str)
def change_time_JST(u_time):
    #イギリスのtimezoneを設定するために再定義する
    utc_time = datetime(u_time.year, u_time.month,u_time.day, \
    u_time.hour,u_time.minute,u_time.second, tzinfo=timezone.utc)
    #タイムゾーンを日本時刻に変換
    jst_time = utc_time.astimezone(pytz.timezone("Asia/Tokyo"))
    # 文字列で返す
    str_time = jst_time.strftime("%Y-%m-%d_%H:%M:%S")
    return str_time

consumer_key        = '********'
consumer_secret     = '********'
access_token        = '********'
access_token_secret = '********'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

#該当するアカウントの@からを入力する
#countで取得するツイート数を設定
for status in api.user_timeline(screen_name="",count=2):
    tweet_time=change_time_JST(status.created_at)
    
    #もしツイート時刻と現在時刻が一致したら、3秒間待ってからリツイートする
    #それ以外の場合には、いいねをする
    if tweet_time == time_str:
        time.sleep(3)
        api.retweet(status.id)
    else:
        api.create_favorite(status.id)

リツイートやいいねをしたい対象アカウントを増やし、リストにすることで、たくさんのアカウントのツイートをリツイートしたり、いいねすることができます

pythonの知識・技術を上げたい

pythonの知識・技術を上げたい

pythonの知識・技術を上げて、手っ取り早く収益を上げたい

と思っている方が大半かと思います

僕はpythonを初めて10ヶ月で収益5桁を突破しました

突破した方法は以下の記事で解説していますが、もっと早く収益を出すならばスクールに通うのが一番です

アイキャッチ
pythonを独学で学び収益を出す方法【無料特典あり】pythonを独学で学び始めて筆者が、どのように収益5桁を達成したのかを具体的に解説していきます。この順番に進めていけば、一年以内にpythonを使って収益化できるようになります。...
おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.