SNスクレイプは、ソーシャルネットワーキングサービス(SNS)用のスクレーパーです。ユーザープロファイル、ハッシュタグ、検索などをスクレイピングし、関連する投稿など、検出されたアイテムを返します。
現在、次のサービスがサポートされています。
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/」を参照してください。