Python twitter 自動化

【Python】Tweepy4.0でv1.1のAPIを実行するサンプルコード集

この記事は約6分で読めます。

 

業務でTwitterAPIのv1.1を使う必要があったのでその際に使ったコードを纏めておきます

 

Tweepyのバージョンは4.14.0を想定しています

 

認証

 

CK = 'xxx'
CS = 'xxx'
AT = 'xxx'
AS = 'xxx'

import json
from requests_oauthlib import OAuth1Session

# OAuth認証
api = OAuth1Session(CK, CS, AT, AS)

 

上記の認証はいつか使えなくなるので、その際はブラウザのセッション情報のcookieから認証情報を取得する必要があります

 

詳しくは下記参照:

https://github.com/tsukumijima/tweepy-authlib

 

ツイート

 

ツイートAPIはわざわざv1.1を使用しなくてもv2にあるので下記を参照してください

【Python】TwitterAPIのv2で画像や動画ツイートを行うサンプルプログラム

 

ユーザー情報取得

 

screen_name = 'python_mllover'
res = api.get_user(screen_name=screen_name)
print(res)

 

フォロー取得

 

screen_name = 'python_mllover' 
ids = api.get_friend_ids(screen_name=screen_name)
print(len(ids))
print(ids)

 

フォロワー取得

 

screen_name = 'python_mllover'
ids = api.get_follower_ids(screen_name=screen_name)
print(len(ids))
print(ids)

 

ツイート検索(ユーザー)

 

screen_name = 'python_mllover'

tweets = api.user_timeline(
    screen_name=screen_name,
    count=150,
    exclude_replies=False,
    include_rts=False,
    # "max_id":last_id
)

 

 

import pandas as pd
import datetime

#アカウント指定
screen_name = 'python_mllover'

#ツイート保存用変数&取得するツイートを計算する
tweet_data = []
num = 0

for page in range(2):
    tweets = api.user_timeline(
        screen_name=screen_name,
        count=150,
        exclude_replies=False,
        include_rts=False,
        # "max_id":last_id
        )
    for tweet in tweets:
        tweet.created_at += datetime.timedelta(hours=9)
        num += 1
        tweet_data.append(['@'+Account, tweet.created_at, tweet.text])
df = pd.DataFrame(tweet_data)
df

 

ツイート検索(ワード)

 

search_word = '転職'
tweets = api.search_tweets(q=search_word, count=100)

 

加工処理サンプルコード

import pandas as pd
import datetime
data = []
tweets = api.search_tweets(q='転職', count=100)
for tweet in tweets:
    tweet.created_at += datetime.timedelta(hours=9)
    screen_name = tweet.user.screen_name
    user_name = tweet.user.name
    data.append(['@'+screen_name, user_name, tweet.created_at, tweet.text])
df = pd.DataFrame(data)
df

 

 

ユーザーフォロー

 

screen_name = 'python_mllover'
api.create_friendship(screen_name=screen_name)

 

idベースでやる場合

 

id_ = '965799286117027841' # @python_mlloverの内部ID
api.create_friendship(user_id=id_)

 

ユーザーリムーブ

 

screen_name = 'python_mllover'
api.destroy_friendship(screen_name=screen_name)

 

ユーザーミュート

 

screen_name = 'takigare3'
api.create_mute(screen_name=screen_name)

 

ユーザーブロック

 

screen_name = 'takigare3'
api.create_block(screen_name=screen_name)

 

APIドキュメント

 

上記のもとになっているAPIの詳細は↓にあります。ほかにもまだまだ引数や機能があります

公式ドキュメント:https://docs.tweepy.org/en/stable/api.html

 

 

関連記事

 

【Python】TwitterAPI v2でツイート検索結果の画像を一括保存する

【Python】TwitterAPIのv2で画像や動画ツイートを行うサンプルプログラム

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました