Telegram Story Scraper 📱
Telethon ライブラリを使用して、Telegram の友達のストーリーを自動的にスクレイピングしてダウンロードする Python スクリプトです。このスクリプトは、写真と動画の両方をメタデータと共に継続的に監視し保存します。

TGSS - メインインターフェース
ストーリーアクセスに関する重要な注意 ⚠️
Telegram API の制限により、このスクリプトがアクセスできるのは以下のストーリーのみです。
- あなたが友達リストに追加したユーザーのストーリー
- プライバシー設定でストーリーの閲覧を許可しているユーザーのストーリー
これは Telegram API の制限であり、回避することはできません。
機能 🚀
- Telegram の友達から利用可能なすべてのストーリーを自動的にスクレイピング
- ストーリーの写真と動画の両方をダウンロード
- SQLite データベースにメタデータを保存
- Excel スプレッドシートへのデータエクスポート
- カスタマイズ可能な間隔でのリアルタイム監視
- タイムスタンプは (UTC+2) に設定
- 以前にダウンロードしたストーリーの記録を保持
- 再開機能
- 自動リトライ機構
前提条件 📋
スクリプトを実行する前に必要なもの:
- Python 3.7 以上
- Telegram アカウント
- Telegram からの API 認証情報
- 追跡したいストーリーがある Telegram 上の友達
必要な Python パッケージ
pip install -r requirements.txt
requirements.txt の内容:
telethon
openpyxl
schedule
Telegram API 認証情報の取得 🔑
- https://my.telegram.org/auth にアクセス
- 電話番号でログイン
- 「API development tools」をクリック
- フォームに記入:
- App title: アプリ名
- Short name: アプリの短縮名
- Platform: 「Desktop」のままで問題ありません
- Description: アプリの簡単な説明
- 「Create application」をクリック
- 以下が発行されます:
api_id: 数字
api_hash: 文字と数字の文字列
これらの認証情報は安全に保管してください。スクリプトの実行に必要です!
セットアップと実行 🔧
- リポジトリをクローン:
git clone https://github.com/unnohwn/telegram-story-scraper.git
cd telegram-story-scraper
- 依存関係をインストール:
pip install -r requirements.txt
- スクリプトを実行:
- 初回実行時、以下の入力を求められます:
- API ID
- API Hash
- 電話番号(国コード付き)
- 確認コード(Telegram に送信されます)
- チェック間隔(秒、デフォルトは60)
仕組み 🔄
スクリプト:
- Telegram アカウントに接続
- 定期的に友達からの新しいストーリーを確認
- 新しいストーリー(写真/動画)をダウンロード
- メタデータを SQLite データベースに保存
- 情報を Excel ファイルにエクスポート
- 中断(Ctrl+C)されるまで継続的に実行
データ保存 💾
データベース構造 (stories.db)
SQLite データベースに含まれるもの:
user_id: ストーリー作成者の Telegram ユーザーID
story_id: 一意のストーリー識別子
timestamp: ストーリーが投稿された時刻 (UTC+2)
filename: ダウンロードしたメディアのローカルファイル名
CSV および Excel エクスポート (stories_export.csv/xlsx)
データベースと同じ情報を含むエクスポートファイル。以下に便利です:
- ストーリーメタデータの簡単な表示
- フィルタリングと並べ替え
- データ分析
- 他の人とのデータ共有
メディアストレージ 📁
- 写真は次のように保存されます:
{user_id}_{story_id}.jpg
- 動画は元の拡張子で保存されます:
{user_id}_{story_id}.{拡張子}
- すべてのメディアファイルはスクリプトのディレクトリに保存されます
機能の詳細 🔍
継続的監視
- カスタマイズ可能なチェック間隔(デフォルト: 60秒)
- 手動で停止されるまで継続的に実行
- 実行間の状態を維持
- 重複ダウンロードを回避
メディア処理
- 写真と動画の両方をサポート
- メディアタイプを自動検出
- オリジナルの品質を維持
- 一意のファイル名を生成
エラーハンドリング 🛠️
このスクリプトには以下が含まれます:
- ダウンロード失敗時の自動リトライ機構
- 失敗した操作のエラーログ
- 接続エラー処理
- 中断時の状態保存
制限事項 ⚠️
- Telegram のレート制限の対象となります
- ストーリーは現在アクティブである必要があります(期限切れでないこと)
- Telegram の制限に従ってメディアダウンロードサイズ制限が適用されます
貢献 🤝
貢献を歓迎します! プルリクエストを遠慮なく送信してください。
ライセンス 📄
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
免責事項 ⚖️
このツールは教育目的のみです。以下を必ず守ってください:
- Telegram の利用規約を尊重する
- スクレイピング前に必要な許可を得る
- 責任を持って倫理的に使用する
- データ保護規制を遵守する
- ユーザーのプライバシーを尊重する