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

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

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

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

Twitter

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

Q&A

解決済

2回答

570閲覧

pythonを使用してツイッターで自動フォロー

hide09090909

総合スコア68

Python 3.x

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

Twitter

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

0グッド

0クリップ

投稿2022/10/19 16:19

下記の「自動いいねと自動フォロー」を参考にTwitterで特定の言葉をつぶやいたアカウントを指定回数自動フォローするプログラムを作成しました。
https://python-man.club/python_twitter_api_follow/

作成したプログラムは下記なのですが、
実行すると指定回数分必ず「except Exception as e:」を通り失敗が返ってくるのですが、
原因がわかりません。どなたかわかる方教えてください。

#https://takabus.com/tips/404/ #https://python-man.club/python_twitter_api_follow/ # ライブラリの読み込み import tweepy import time from datetime import datetime import random #****には自身のコードを入力してください CONSUMER_KEY = 'AvJzOHHyDWOKWYM0BGT1h2U92' CONSUMER_SECRET = 'yNdsg8Oa2SojqfCHmKFFiKSYHSl15e5qPtUcydrCGGmNMv0UKe' ACCESS_TOKEN = '1580875848647073792-axDiiQFIomw2xg504ed8h0REBgx1uV' ACCESS_SECRET = 'cCfaxGCtROxmPZUQ6sT4rz5yPFdfUOnX6c99Svo0IJ1YE' #twitter認証 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET) api = tweepy.API(auth) # 検索キーワードと件数 q = "旅行" count = 10 # 検索実行 search_results = api.search_tweets(q=q, count=count) for result in search_results: #user_key = result.id # 検索キー #ランダム秒待つ(1~5秒の間で待機する) #waitsec=random.randint(1,5) #print(dir(time)) #time.sleep(waitsec) username = result.user.name user_id = result.user._json['screen_name'] # @以降の内容 #time = result.created_at #ツイートの日時を取得 print('user_idの中身' + user_id) try: #api.create_favorite(user_key) #いいね api.create_friendship(user_id) #フォロー except Exception as e: # すでに「いいね」、フォロー済みだとこれが出力。 print(' 【失敗】' + str(e))

出力結果は下記のとおりです。
API.create_friendshipの引数が2つ設定されている的なエラーなのですが、
API.create_friendshipの引数になっているuser_idを出力すると1つしかないように見えます。

user_idの中身XBft0 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身XpvTiCXUZ0GsDgU 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身sasane_yuki 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身hhelibe_m 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身Tachi2Yoko 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身Ryu06011020 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身YY____0701 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身duocosme 【失敗】API.create_friendship() takes 1 positional argument but 2 were given user_idの中身Chu_meroxxx 【失敗】API.create_friendship() takes 1 positional argument but 2 were given

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

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

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

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

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

guest

回答2

0

ベストアンサー

https://docs.tweepy.org/en/stable/api.html#tweepy.API.create_friendship
ドキュメントに記載の通り、引数名の指定が必須になっています。
引数名を明示してください。

python

1 api.create_friendship(screen_name=user_id) #フォロー

投稿2022/10/19 16:33

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

hide09090909

2022/10/20 11:46

わかりやすくありがとうございます。 無事動作しました。
guest

0

API.create_friendship() takes 1 positional argument but 2 were given

メソッドなので、位置引数の一番目はselfです。位置引数が1つだけだと言ってるので、自分で渡せる位置引数はゼロ個です。おそらくキーワード引数で渡すのでしょう。id=とかuser_id=とか。
メソッドの仕様を調べましょう。

参考にしたコードが、そういう呼び出し方をしているのなら、その後にライブラリーがバージョンアップで仕様が変わったんでしょうね。

投稿2022/10/19 16:51

otn

総合スコア84538

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

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

otn

2022/10/19 16:57 編集

このサイトで create_friendship で検索すると同じ質問が。 https://teratail.com/questions/366570 screen_name= か user_id= か値に合わせて選択する。
hide09090909

2022/10/20 11:46

リンク先もありがとうございます。 大変参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問