<!> This project is not maintained. Use twitter_openapi_python and tweepy_authlib
Twitter の内部 API を叩く
ログイン: TwitterFrontendFlow / 取得: TweetURLtoData / スペース: TwitterSpacesWiretap
TwitterFrontendFlow(proxies={
"http":"",
"https":""
})
print(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード").content)
print(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード")
.AccountDuplicationCheck()
.LoginTwoFactorAuthChallenge("2段階認証のコード").content)
print(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterAlternateIdentifierSubtask("電話番号/ユーザー名")
.LoginEnterPassword("パスワード").content)
print(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード")
.AccountDuplicationCheck()
.LoginAcid("メールアドレス / メールアドレスのコード").content)
print(TwitterFrontendFlow()
.password_reset_flow()
.PwrJsInstrumentationSubtask()
.PasswordResetBegin("電話番号/メールアドレス/ユーザー名")
.PasswordResetChooseChallenge()
.PasswordResetConfirmChallenge("認証コード")
.PasswordResetNewPassword("新しいパスワード")
.PasswordResetSurvey("0").content)
print(TwitterFrontendFlow()
.password_reset_flow()
.PwrJsInstrumentationSubtask()
.PasswordResetBegin("ユーザー名")
.PwrKnowledgeChallenge("メールアドレス")
.PwrKnowledgeChallenge("電話番号")
.PasswordResetChooseChallenge()
.PasswordResetConfirmChallenge("認証コード")
.PasswordResetNewPassword("新しいパスワード")
.PasswordResetSurvey("0").content)
(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード")
.SaveCookies("user.json"))
(TwitterFrontendFlow()
.LoadCookies("user.json"))
おまけ程度
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.CreateTweet("ツイートしたい文字列").content)
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.FavoriteTweet("ツイートid").content)
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.UnfavoriteTweet("ツイートid").content)
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.CreateRetweet("ツイートid").content)
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.DeleteRetweet("ツイートid").content)
未だに新 API への移行が終わってないらしく旧 API での実装
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.friendships_create("ユーザーの内部id").content)
未だに新 API への移行が終わってないらしく旧 API での実装
print(TwitterFrontendFlow()
.LoadCookies("user.json")
.friendships_destroy("ユーザーの内部id").content)
中身見たほうが早いかも これが動かないアカウントがあったら詳細を詳しく issue に sample.py
LoginFlow のリクエストを送る順番が不適切と検知した場合に表示されます あくまで検知なのでこれをバイパスする方法があります
flow = TwitterFrontendFlow()
flow.method_check_bypass = True