weibo-cli について
weibo-cli は、Weibo の話題、投稿、コメント、ユーザープロフィールを閲覧する読み取り専用のコマンドラインツールです。ブラウザー Cookie の取得または QR コードでログインでき、テーブル、JSON、YAML で出力します。
主な機能
- 01人気トピックとトレンドの閲覧
- 02投稿検索とタイムライン閲覧
- 03投稿の詳細、コメント、リポストの確認
- 04プロフィールとフォロワー一覧の確認
- 05ブラウザー Cookie または QR コードで認証
- 06テーブル、JSON、YAML で出力
活用シーン
- 01Weibo のトレンドや人気トピックの日次監視
- 02投稿とコメント欄の調査
- 03ユーザープロフィールと投稿内容の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jackwener/ weibo-cli --skill weibo-cliインストール後、Claude Code で/weibo-cliを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreREADME.mdpyproject.toml.github/workflows/ci.ymlpublish.ymltests/test_auth.pyconftest.pytest_cli.pytest_client.py__init__.pytest_improvements.pytest_smoke.pyweibo_cli/__init__.pyauth.pycli.py__main__.pyclient.pyconstants.pyexceptions.pyweibo_cli/commands/__init__.py_common.pyauth.pyrenderers.pysearch.pypersonal.py詳細
weibo-cli — Weibo CLI ツール
バイナリ: weibo
認証情報: ブラウザーの Cookie(自動抽出)または QR コードログイン
セットアップ
# Install (requires Python 3.10+)
git clone [email protected]:jackwener/weibo-cli.git
cd weibo-cli && uv sync
認証
エージェント向けの重要事項:weibo コマンドを実行する前に、必ず認証情報が存在するか確認してください。Cookie が設定済みだと決めつけないでください。
ステップ 0:認証済みかどうかを確認する
weibo status 2>/dev/null && echo "AUTH_OK" || echo "AUTH_NEEDED"
AUTH_OK の場合は、コマンドリファレンスに進んでください。
AUTH_NEEDED の場合は、ステップ 1 に進んでください。
ステップ 1:ユーザーに認証を案内する
方法 A:ブラウザー Cookie の抽出(推奨)
ユーザーが対応ブラウザー(Chrome、Arc、Edge、Firefox、Brave、Chromium、Opera、Vivaldi、Safari、LibreWolf)のいずれかで weibo.com にログインしていることを確認してください。weibo-cli が Cookie を自動抽出します。
weibo login
weibo login --qrcode # QR code login directly (skip browser cookies)
weibo status
方法 B:QR コードログイン
weibo login
# → Renders QR in terminal using Unicode half-blocks
# → Scan with Weibo App (我的 → 扫一扫) → confirm
ステップ 2:よくある認証の問題に対処する
| 症状 | エージェントの対応 |
|---|---|
⚠️ 未登录 | ブラウザーで weibo.com にログインするようユーザーに案内し、その後 weibo login を実行します |
会话已过期 | weibo logout && weibo login を実行します |
| Cookie の抽出が停止する | ブラウザーが起動中の可能性があります。ブラウザーを閉じてから再試行してください |
出力形式
デフォルト:リッチテーブル(人間が読みやすい形式)
weibo hot # Pretty table output
JSON / YAML:構造化出力
weibo hot --json # JSON to stdout
weibo hot --yaml # YAML output
weibo hot --json | jq '.realtime[:3]' # Filter with jq
TTY 以外への標準出力は、デフォルトで自動的に YAML になります。
コマンドリファレンス
読み取り
| コマンド | 説明 | 例 |
|---|---|---|
weibo hot | ホット検索リスト(50 件以上のトピック) | weibo hot --count 10 --json |
weibo trending | リアルタイムの検索トレンド | weibo trending --count 10 --yaml |
weibo search <keyword> | キーワードで Weibo を検索 | weibo search "科技" --count 5 --json |
weibo feed | ホットタイムライン | weibo feed --count 5 --json |
weibo home | フォロー中のタイムライン | weibo home --count 10 --json |
weibo detail <mblogid> | 統計情報付きで Weibo を表示 | weibo detail Qw06Kd98p --json |
weibo comments <mblogid> | コメントを表示 | weibo comments Qw06Kd98p --count 10 |
weibo reposts <mblogid> | リポスト/転送を表示 | weibo reposts Qw06Kd98p --count 5 |
weibo profile <uid> | ユーザープロフィール | weibo profile 1699432410 --json |
weibo weibos <uid> | ユーザーが公開した Weibo | weibo weibos 1699432410 --count 5 |
weibo following <uid> | ユーザーのフォロー一覧 | weibo following 1699432410 |
weibo followers <uid> | ユーザーのフォロワー一覧 | weibo followers 1699432410 |
アカウント
| コマンド | 説明 |
|---|---|
weibo login | ブラウザーから Cookie を抽出/QR コードでログイン |
weibo login --qrcode | QR コードで直接ログイン(ブラウザーをスキップ) |
weibo login --cookie-source <browser> | 指定したブラウザーから抽出 |
weibo logout | 保存した認証情報を消去 |
weibo status | 認証状態を確認 |
weibo me | 現在のユーザープロフィールを表示 |
エージェントのワークフロー例
ホットトピックを閲覧して詳細を読む
# Get hot search topics
MBLOG=$(weibo hot --json | jq -r '.realtime[0].mblog_id // empty')
# Read a specific weibo
weibo detail Qw06Kd98p --json | jq '{text: .text_raw, likes: .attitudes_count, comments: .comments_count}'
ユーザープロフィールを分析する
weibo profile 1699432410 --json | jq '.user | {name: .screen_name, followers: .followers_count, posts: .statuses_count}'
weibo weibos 1699432410 --count 3 --json
Weibo のコメントを読む
weibo comments Qw06Kd98p --json | jq '.data[:5] | .[].text_raw'
日次モニタリングのワークフロー
# Top 10 hot topics
weibo hot --json | jq '.realtime[:10] | .[] | {rank, word, num}'
# Trending sidebar
weibo trending --yaml
# Hot feed
weibo feed --count 5 --json
エラーコード
CLI 出力で返される構造化エラーコード:
not_authenticated— Cookie の有効期限切れ、または Cookie がありませんrate_limited— リクエストが多すぎますinvalid_params— パラメーターが不足しているか、無効ですqr_expired— QR コードの有効期限が切れていますapi_error— Weibo API の上流エラー
制限事項
- 読み取り専用 — 投稿、いいね、リツイートはできません
- DM 非対応 — プライベートメッセージにはアクセスできません
- 単一アカウント — 一度に使用できる認証情報は 1 セットのみです
- レート制限あり — リクエスト間に組み込みのガウス分布ジッター遅延(約 1 秒)があります
エージェント向けの検出回避に関する注意事項
- リクエストを並列化しないでください — アカウントの安全性を保つため、組み込みのレート制限遅延が設けられています
- 一括操作:多数のプロフィールを読むなどの一括処理を行う場合は、CLI 呼び出しの間に遅延を入れてください
- セッションの安定性:すべてのリクエストで、セッションごとに一貫した Chrome 145 のヘッダーが使用されます
安全に関する注意事項
- ユーザーにチャットログで生の Cookie 値を共有するよう求めないでください。
- 手動でシークレットをコピーして貼り付けるより、ブラウザーからローカルで Cookie を抽出する方法を優先してください。
- 認証に失敗した場合は、
weibo loginで再ログインするようユーザーに依頼してください。 - エージェントは Cookie 値をシークレットとして扱ってください(不必要に標準出力へ出力しないでください)。
- 組み込みのレート制限による遅延はアカウントを保護します。これを回避しないでください。
コメント
Markdown 対応