SNSスクレイピングの実践
Twscrape
twscrapeはsnscrapeの派生プロジェクトです。 X-twitterのスクレイピングが比較的手軽にコマンドラインから行えます。
-
Auth and check
twscrape accounts twscrape add_accounts ./order-12345.txt username:password:email:email_password:_:_- 不正防止システムにより、すべてのアカウントが認証を通過できるわけではありません。
-
Login
twscrape login_accounts twscrape relogin user1 user2 --manual twscrape relogin_failed --manual # retry login all failed logins at once- メール プロバイダーが IMAP プロトコルをサポートしていない場合 (ProtonMail、Tutanota など)、または設定で IMAP が無効になっている場合は、メール確認コードを手動で入力できます。これを行うには、—manual フラグを付けてログイン コマンドを実行します。
-
Search
twscrape tweet_details 1586104694421659648 | jq twscrape search 'elonmusk' twscrape search "elon musk since:2023-01-01 until:2023-05-31" --raw twscrape search "QUERY" --limit=20 twscrape tweet_details TWEET_ID twscrape tweet_replies TWEET_ID --limit=20 twscrape retweeters TWEET_ID --limit=20 twscrape favoriters TWEET_ID --limit=20 twscrape user_by_id USER_ID twscrape user_by_login USERNAME twscrape following USER_ID --limit=20 twscrape followers USER_ID --limit=20 twscrape verified_followers USER_ID --limit=20 twscrape subscriptions USER_ID --limit=20 twscrape user_tweets USER_ID --limit=20 twscrape user_tweets_and_replies USER_ID --limit=20 twscrape liked_tweets USER_ID --limit=20 -
Connect to DB
twscrape --db test-accounts.db <command>- トークンは SQLite データベースに保存され、後続のクエリで再利用されます。
-
Proxy
TWS_PROXY=socks5://user:pass@127.0.0.1:1080 twscrape user_by_login elonmusk- アカウントごとにプロキシを使用する場合は、環境変数でプロキシを上書きしたり、プロキシ パラメータを API に渡したりしないでください。
-
Help
コマンド: version バージョンを表示 accounts すべてのアカウントをリストする stats 現在の使用状況の統計を取得します add_accounts アカウントを追加します del_accounts アカウントの削除 login_accounts ログインアカウント relogin 選択したアカウントを再ログインします relogin_failed 失敗したアカウントのログインを再試行します reset_locks すべてのロックをリセットします delete_inactive 非アクティブなアカウントを削除します 検索コマンド: search ツイートを検索 tweet_details ツイートの詳細を取得する tweet_replies ツイートの返信を取得します retweeters ツイートのリツイートユーザーを取得します favoriters ツイートのお気に入りを取得します user_by_id IDでユーザーデータを取得 user_by_login ユーザー名でユーザーデータを取得する following ユーザーのフォローを取得する followers ユーザーのフォロワーを取得する verified_followers ユーザー認証済みのフォロワーを取得します subscriptions ユーザーのサブスクリプションを取得する user_tweets ユーザーのツイートを取得します user_tweets_and_replies ユーザーのツイートと返信を取得します user_media ユーザーのメディアを取得します list_timeline リストからツイートを取得 likes_tweets ユーザーの「いいね!」をしたツイートを取得します オプション: --db DB アカウント データベース ファイル --debug デバッグモードを有効にする -
Download Media file