TwitterFrontendFlow
TwitterFrontendFlow copied to clipboard
Unofficial Client for Twitter Internal API
TwitterFrontendFlow
<!> This project is not maintained. Use twitter_openapi_python and tweepy_authlib
Twitter の内部 API を叩く
ログイン: TwitterFrontendFlow / 取得: TweetURLtoData / スペース: TwitterSpacesWiretap
P.S. restriction bypass (Fixed)
proxy
TwitterFrontendFlow(proxies={
"http":"",
"https":""
})
login flow
通常ログイン
print(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード").content)
2 段階認証
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)
password reset flow
通常リセット
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)
Save / Load
(TwitterFrontendFlow()
.login_flow()
.LoginJsInstrumentationSubtask()
.LoginEnterUserIdentifierSSO("電話番号/メールアドレス/ユーザー名")
.LoginEnterPassword("パスワード")
.SaveCookies("user.json"))
(TwitterFrontendFlow()
.LoadCookies("user.json"))
after login
おまけ程度
ツイート
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)
sample
中身見たほうが早いかも これが動かないアカウントがあったら詳細を詳しく issue に sample.py
help
inappropriate method
LoginFlow のリクエストを送る順番が不適切と検知した場合に表示されます あくまで検知なのでこれをバイパスする方法があります
flow = TwitterFrontendFlow()
flow.method_check_bypass = True