MediaCrawlerは、NanmiCoderによって開発・メンテナンスされている、強力な多プラットフォーム自メディアクローラーツールです。このプロジェクトはPlaywright技術をベースにしており、コンテンツ、コメントなどのデータを含む、複数の主要なソーシャルメディアプラットフォームの公開情報を収集できます。
このプロジェクトは、Playwrightを使ってブリッジを架ける方式を採用し、ログイン成功後のコンテキストブラウザ環境を保持します。JavaScript式を実行して、いくつかの暗号化パラメータを取得します。この方式により、コア暗号化JSコードを再現する複雑な作業が不要になり、リバースエンジニアリングの難易度が大幅に低下します。
このプロジェクトでは、プロジェクトの依存関係を管理するためにuv
が追加されました。従来のpipの代わりにuvを使用して依存関係をインストールすることで、より簡単かつ迅速になります。
# プロジェクトのルートディレクトリに移動
cd MediaCrawler
# 仮想環境を作成
python -m venv venv
# 仮想環境をアクティブ化
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate
# 依存関係をインストール
pip install -r requirements.txt
# playwrightブラウザをインストール
playwright install
# データベースの初期化を実行(初回のみ)
python db.py
# キーワード検索によるクローリング
python main.py --platform xhs --lt qrcode --type search
# 特定の投稿IDによるクローリング
python main.py --platform xhs --lt qrcode --type detail
# ヘルプ情報の表示
python main.py --help
config/base_config.py
でENABLE_GET_COMMENTS
変数を変更してくださいconfig/base_config.py
で確認でき、すべて日本語のコメントによる説明がありますdata/
ディレクトリ下のCSV形式ファイルに保存data/
ディレクトリ下のJSON形式ファイルに保存このプロジェクトには、MediaCrawlerProバージョンも用意されており、オープンソースバージョンと比較して、以下の利点があります。
MediaCrawlerは単なるクローラーツールではなく、優れた学習プロジェクトでもあります。