質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

0回答

1697閲覧

tweepyでいいね、リツイート、フォローが出来ない。

terachan777

総合スコア1

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2021/12/21 05:09

お世話になります。PythonのTweepyを使って特定キーワードのツイートにいいね、リツイート、フォローをしたいのですが、以下コードでそれぞれ以下のエラーが出てしまいます。どなたか解決策をご教示いただけますと大変助かります。ちなみに自動投稿の方は機能しているようです。

環境:
Windows 10
Python3.10

いいね:403 Forbidden
139 - You have already favorited this status.

リツイート:403 Forbidden
327 - You have already retweeted this Tweet.

フォロー:
API.create_friendship() takes 1 positional argument but 2 were given

(以下コード)
import tweepy
import random

TWEET_FILE_NAME = "Tweets.txt"
SPLITTER = "[--split--]"

def main():

# Twitter login credentials consumer_key = 'xxx' consumer_secret = 'xxx' access_token_key = 'xxx' access_token_secret = 'xxx' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token_key, access_token_secret) api = tweepy.API(auth) my_user_id = "@xxx" with open(TWEET_FILE_NAME, "r", encoding="utf_8") as f: file_content = f.read() contents = file_content.split(SPLITTER) i = random.randint(1,16) - 1 tweet_text = contents[i].strip() keyword = ["#ランニング食学検定","#東京マラソン"] # ツイート api.update_status(tweet_text) # いいね do(api,"GOOD",keyword) # リツイート do(api,"RETWEET",keyword) # フォロー do(api,"FOLLOW",keyword)

タイムライン検索

def do(api,action,keyword,maxReq=3,maxTimeLine=10):

for q in keyword: cnt = 0 actCnt = random.randint(1,maxReq) search_results = api.search_tweets(q=q,lang='ja',count=maxTimeLine) for result in search_results: tweet_id = result.id user_id = result.user._json['id'] try: if cnt < actCnt: if action == "GOOD" : api.create_favorite(tweet_id) if action == "RETWEET" : api.retweet(tweet_id) if action == "FOLLOW" : api.create_friendship(user_id) else: break cnt = cnt + 1 except Exception as e: print(e)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takutakuya

2021/12/21 12:56

コードの挿入機能を使いましょう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問