snscrape - SNスクレイプは、ソーシャルネットワーキングサービス(SNS)用のスクレーパーです。ユーザープロファイル、ハッシュタグ、検索などをスクレイピングし、関連する投稿など、検出されたアイテムを返します。

(A social networking service scraper in Python)

Created at: 2018-09-10 04:16:31
Language: Python
License: GPL-3.0

ススクレイプ

SNスクレイプは、ソーシャルネットワーキングサービス(SNS)用のスクレーパーです。ユーザープロファイル、ハッシュタグ、検索などをスクレイピングし、関連する投稿など、検出されたアイテムを返します。

現在、次のサービスがサポートされています。

  • Facebook: ユーザー プロファイル、グループ、コミュニティ (訪問者の投稿)
  • インスタグラム:ユーザープロフィール、ハッシュタグ、場所
  • マストドン:ユーザープロファイルとトゥート(シングルまたはスレッド)
  • Reddit:ユーザー、サブレディット、および検索(プッシュシフト経由)
  • 電報:チャンネル
  • Twitter:ユーザー、ユーザープロファイル、ハッシュタグ、検索、ツイート(単一または周囲のスレッド)、リスト投稿、およびトレンド
  • VKontakte: ユーザー プロファイル
  • 微博 (新浪微博): ユーザー プロファイル

必要条件

snscrape には Python 3.8 以降が必要です。Python パッケージの依存関係は、snscrape をインストールすると自動的にインストールされます。

依存関係の 1 つである lxml でも、libxml2 と libxslt をインストールする必要があることに注意してください。

取り付け

pip3 install snscrape

開発バージョンを使用する場合:

pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git

使い

ティッカー

snscrape の CLI の一般的な構文は次のとおりです。

snscrape [GLOBAL-OPTIONS] SCRAPER-NAME [SCRAPER-OPTIONS] [SCRAPER-ARGUMENTS...]

snscrape --help
オプションと引数の詳細を入力します。使用可能なすべてのスクレーパーも一覧表示されます。
snscrape SCRAPER-NAME --help
snscrape --help

CLI のデフォルトの出力は、各結果の URL です。

いくつかの注目すべきグローバルオプションは次のとおりです。

  • --jsonl
    をクリックして出力を JSONL として取得します。これには、snscrapeによって抽出されたすべての情報が含まれます(メッセージの内容、日時、画像など、詳細はスクレイパーによって異なります)。
  • --max-results NUMBER
    最初の結果のみを返します。
    NUMBER
  • --with-entity
    を使用して、スクレイピングされるエンティティのアイテム (ユーザーやチャネルなど) を取得します。これは、すべてのスクレーパーでサポートされているわけではありません。(これを一緒に使用して、エンティティ情報のみを取得できます)。
    --max-results 0

ジェイソン・スコット(@textfiles)によるすべてのツイートを収集します。

snscrape twitter-user textfiles

通常、出力をファイルにリダイレクトしてさらに処理すると便利です(たとえば、ファイル名を使用してbashで)。

twitter-@textfiles

snscrape twitter-user textfiles >twitter-@textfiles

ハッシュタグ#archiveteamが付いた最新の100件のツイートを取得するには:

snscrape --max-results 100 twitter-hashtag archiveteam

図書館

Pythonのライブラリとしてsnscrapeを使用することもできますが、これは現在文書化されていません。

問題の報告

ススクレイプの問題を発見した場合は、https://github.com/JustAnotherArchivist/snscrape/issues で報告してください。可能であれば、snscrapeを実行し、ログ出力とログで参照されているダンプファイルを問題に含めてください。ファイルには機密情報が含まれている場合があり、お客様を特定するために使用される可能性があることに注意してください(たとえば、サービスが応答にIPアドレスが含まれている場合)。ファイル転送を個人的に手配したい場合は、問題でその旨を記載してください。

-vv
--dump-locals

ライセンス

このプログラムはフリーソフトウェアです:フリーソフトウェアファウンデーションによって公開されたGNU一般公衆利用許諾契約書の条件、ライセンスのバージョン3、または(あなたの選択で)それ以降のバージョンのいずれかに基づいて、再配布および/または変更できます。

このプログラムは、有用であることを期待して配布されていますが、いかなる保証もありません。商品性または特定の目的への適合性の黙示の保証さえありません。詳細については、GNU一般公衆利用許諾契約書を参照してください。

このプログラムと一緒にGNU一般公衆利用許諾契約書のコピーを受け取っているはずです。そうでない場合は、「https://www.gnu.org/licenses/」を参照してください。