お世話になります。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)
あなたの回答
tips
プレビュー