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

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

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

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

Twitter

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

API

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

受付中

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

terachan777
terachan777

総合スコア1

Python 3.x

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

Twitter

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

API

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

0回答

0評価

1クリップ

580閲覧

投稿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)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

takutakuya

2021/12/21 12:56

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

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

Twitter

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

API

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