ソーシャルメディアのデータをいじったことがある人なら、"snscrape "というツールに出会ったことがあるかもしれない。
様々なソフトウェア・ツールを頻繁に使う人間として、snscrapeは特に以下のようなタスクに最適なツールである。 代理人との組み合わせ.
それでは、snscrapeとは何か、どのように機能するのか、そしてなぜあなたのデータ収集ワークフローにとって画期的なものになり得るのかを説明しましょう。
TL;DR:
- Snscrapeは、APIを使用せずにソーシャルメディアをスクレイピングするためのPythonツールです。
- で動作する。 ツイッター/X, Facebook, Instagram, レッドディットなどなど。
- ツイート、ユーザープロフィール、ハッシュタグを抽出し、CSVに保存することができます。
- 大規模なスクレイピングには、ブロックやレート制限を避けるためにプロキシを使用する。

目次
- Snscrapeとは何ですか?
- Snscrapeはどのように機能しますか?
- Snscrapeの使い方
- SnscrapeでTwitterからどのようなデータをスクレイピングできますか?
- Snscrapeの使用例
- Snscrapeにプロキシを追加する方法
- Snscrapeでプロキシを使うべき理由
- Snscrapeの代替品
- Snscrapeは合法ですか?
- Snscrapeに関するよくある質問
- まとめ
1.Snscrapeとは何ですか?

Snscrapeは、X(Twitter)、Facebook、InstagramのようなソーシャルメディアプラットフォームからデータをスクレイピングできるPythonライブラリです。
他の多くのスクレイピングツールとは異なり、snscrapeはAPIキーを必要としないため、APIを使用する技術的なノウハウを持っていないユーザーを含め、より幅広いユーザーが使用することができます。
Snscrapeのメリット
Snscrapeには特筆すべき長所がいくつかある:
- APIキー不要:これは大きな利点だ。ほとんどのソーシャルメディアプラットフォームは、データスクレイピングのためにAPIキーを必要とするが、これは多くのユーザーにとって問題となり得る。これは多くの人がSnscrapeを好む理由の一つです。
- 柔軟性:検索クエリは、必要なだけ幅広く、または具体的に調整することができます。この柔軟性は、微妙なデータ収集が必要なリサーチには欠かせません。
- 使いやすさ:Pythonに慣れている人にとって、snscrapeはユーザーフレンドリーです。その分かりやすいコマンドと構造により、データ収集のワークフローに簡単に組み込むことができます。
2.Snscrapeはどのように機能しますか?
特にPythonの基本的な知識があれば、snscrapeの使い方は比較的簡単です。
このツールは、ソーシャルメディアのウェブサイトをスクレイピングし、公開されているデータを収集する。例えば、特定のキーワードやハッシュタグを含むツイートや、特定のユーザーからのツイートを収集するために使用することができる。
簡単な例を挙げよう:
もしそうしたいなら ツイートをスクラップ #technologyというハッシュタグが含まれていれば、このハッシュタグを検索し、関連するツイートを抽出するためにsnscrapeを使ってPythonスクリプトを書くことになる。
Snscrapeの仕組みはこうだ:
- Snscrape: あなたのコンピュータでSnscrapeを実行し、X(Twitter)などのプラットフォームから公開投稿を収集する。
- プロシキ: プロキシはあなたのIPを隠し、スクレイピング時のブロックを避けるのに役立つ。
- ウェブ Snscrapeはウェブサイトにリクエストを送り、ツイートのような公開データをロードする。
- データ そして、そのデータをJSONやCSVのようなクリーンで読みやすいフォーマットに変換し、利用できるようにする。

3.Snscrapeの使い方
始めるには、Pythonを含む基本的なセットアップが必要です。それから、Pythonのパッケージインストーラーであるpipを使ってsnscrapeをインストールすることができます。インストールが完了したら、必要なデータをスクレイピングするスクリプトを書き始めることができます。
この強力なツールを使い始めるための簡単なガイドがここにある。
a.設置方法
まず、snscrapeをインストールする必要があります。コマンドプロンプトかターミナルを開き、以下のコマンドを入力してください:
bashCopyコード
pip install snscrape
このコマンドはPythonのパッケージマネージャーであるpipを使ってスクレイパーをダウンロードしインストールする。
b.基本スクリプトを書く
インストールしたら、データをスクレイピングするPythonスクリプトを書き始めることができる。例えば、特定のハッシュタグが付いたツイートを集めたいとしよう。これが基本的な例だ:
import snscrape.modules.twitter as sntwitter # スクレイピングするツイート数を定義 max_tweets = 100 # TwitterSearchScraperを使ってデータをスクレイピングし、リストにツイートを追加 for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break print(tweet.content)
このスクリプトは、ハッシュタグ#technologyを含む最新100件のツイートをスクレイピングする。
c.スクリプトの実行
スクリプトを .py ファイルを作成し、Pythonを使って実行する。スクリプトが実行され、コマンドプロンプトやターミナルにツイートが出力されるはずです。
d.クエリーのカスタマイズ方法
検索クエリーは簡単に変更できる。例えば、特定のユーザーのツイートをスクレイピングしたい場合、検索クエリを TwitterSearchScraper メソッドを使用する:
sntwitter.TwitterSearchScraper('from:username')
交換 ユーザー名 を、ツイートをスクレイピングしたいユーザーのTwitterハンドルネームと置き換えてください。
e.データの取り扱い
スクレイピングしたデータは様々な形式で保存できる。例えば、分析しやすいようにツイートをCSVファイルに保存したいかもしれません。スクレイピングしたデータをファイルに書き出すようにスクリプトを修正することができます:
import csv # ... [以前のコード] # データを追加するファイルを開く/作成する csvFile = open('scraped_tweets.csv', 'a', newline='', encoding='utf8') # csvライターを使う csvWriter = csv.writer(csvFile) csvWriter.writerow(['id', 'date', 'tweet']) for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break csvWriter.writerow([tweet.id, tweet.date, tweet.content]) csvFile.close()
このスクリプトは、ツイートのID、日付、内容をCSVファイルに保存する。 スクレイプト_ツイート.csv.
一貫性のある結果を得る 📊 .
snscrapeからの一貫性のないレスポンスにうんざりしていませんか?クリーンな住宅IPは、キャプチャとブロックされたリクエストを削減します。
スクレイピングの安定性向上4.SnscrapeでTwitterからどんなデータをスクレイピングできますか?
SnscrapeはX(Twitter)から様々なデータを抽出するのに役立ちます。以下はsnscrapeでスクレイピングできる様々なデータの内訳です:
a.ツイート
snscrapeの主な用途はツイートの収集です。これには以下が含まれる:
- ツイート内容:ツイートの実際のテキスト。
- ツイートID:各ツイートに対する一意の識別子。
- 日時:ツイートが投稿された時期
- URL:ツイートに含まれるリンク
b.利用者情報
Snscrapeを使用すると、次のようなTwitterユーザーの情報を収集することができます:
- ユーザー名:ユーザーのTwitterハンドル。
- ユーザーID:各ユーザーの一意な識別子。
- プロフィール:ユーザーの経歴またはプロフィールの説明。
- 位置:ユーザーがプロフィールで提供した場所(利用可能な場合)。
c.エンゲージメント指標
snscrapeは「いいね!」やリツイートのようなエンゲージメントの指標を直接取得することはできませんが、それでも収集することはできます:
- リツイート数:ツイートがリツイートされた回数(一部のツイートの場合)。
- 返信数:ツイートへの返信数(一部のツイートの場合)。
d.ハッシュタグとメンション
Snscrapeはツイート内の特定の要素を抽出することができる:
- ハッシュタグ:ツイートで使用されたハッシュタグ。
- 言及:ツイートで言及された他のX(Twitter)アカウントのユーザー名。
e.メディアコンテンツ
ツイートがメディアを含んでいる場合、snscrapeはそれを特定するのに役立つ:
- メディアURL:ツイートに添付された画像や動画へのリンク。
f.高度な検索クエリー
Snscrapeは、高度な検索クエリを処理することができ、に基づいてツイートをスクレイピングすることができます:
- キーワード:特定の単語やフレーズを含むツイート。
- 日付範囲:指定された時間内に投稿されたツイート。
- 地理的位置:特定の地理的位置からのツイート(位置情報が利用可能な場合)。
各ツイートには次のようなフィールドが含まれる:
アイドル:ユニークなツイートID日付:ツイート投稿時内容:ツイート全文ユーザー名:投稿者リツイート数,ライクカウント等々。
g.スレッドと会話データ
また、snscrapeを使って会話のスレッドをたどり、抽出することもできる:
- 会話形式のツイート:リプライと引用ツイートで、会話を追跡できます。
5.Snscrapeの使用例:簡単なものから高度なものまで
スネクレープ その応用範囲は広い。ここでは、日常的なスクレイピングから、より高度な自動化セットアップまで、人々がどのように活用しているかを紹介する。
a.日常的なSnscrapeの使用例
以下は、ユーザーが単発のタスクや小規模なプロジェクトでsnscrapeを利用する最も一般的な方法です:
- 市場調査:製品、ブランド、トレンドに関する言及をスクレイピングし、人々がリアルタイムでそれらについてどのように話しているかを理解する。
- 学術研究:政治的言説、オンライン行動、世論に関する研究のためのデータセットを収集する。
大規模なセットアップは必要なく、Pythonスクリプトと明確な検索クエリーだけでいい。
b.Cronjobsによるスクレイプの自動化
毎日、毎時間、毎週など継続的にデータを収集したい場合は、cronjobs(Linux/macOS)またはWindowsのタスクスケジューラを使用してsnscrapeスクリプトをスケジュールすることができます。
これは、毎日または毎時の言及をキャプチャしたり、トレンドやセンチメントの時系列データを構築するのに理想的です。
| プロのアドバイスだ: データの上書きやサーバーのブロックを避けたい場合は、スクリプトがファイル名をローテーションし、レート制限に対応していることを確認してください。 |
c.ローカル・インサイトのためのジオターゲット・スクレイピング
ロケーションベースのデータが必要ですか?Snscrapeは以下のような地理フィルタをサポートしています "near:" 、そして "within:" を入力してください。
例
|
1 |
洪水 近く:"ニューオーリンズ" 内:15km |
例えば、地域の災害対応のモニタリングや、都市特有のブランド感情や言及のモニタリングなどに利用できる。
と組み合わせることもできる。 以来だ: 、そして まで: 日付指定データ
d.スレッド追跡とデータ・サイエンス・パイプライン
より複雑な分析には、snscrapeがよく使われる:
- 会話スレッド全体をスクレイピングする (返信と引用を含む)
- ラベル付きデータセットの構築 NLP、トピックモデリング、機械学習向け
- pandas DataFrameへのツイート抽出の効率化 前処理用
例
|
1 |
df = ピーディー.データフレーム(#91;ツイート.内容 にとって ツイート で ツイート], 列=#91;テキスト]) |
センチメントの分類からテーマ別の会話のクラスタリングまで、Snscrapeは次のような分野で人気があります。 データサイエンス と研究コミュニティ。
6.Snscrapeにプロキシを追加する方法
追加 代理人 をsnscrapeに追加することで、スクレイピング能力を10倍向上させることができます。これは匿名性を提供し、レート制限やジオブロックされたコンテンツを回避します。
snscrapeとプロキシを統合する方法をステップバイステップで説明します:
a.プロキシサービスの選択
信頼できるプロキシサービスを選ぶ様々な プロキシの種類 無料と有料のサービスがある。一般的に、後者の方が信頼性とスピードが優れている。Snscrapと一緒に使用するプロキシの種類をお勧めします。
- ステルスのための回転住宅
- データセンターのプロキシによるスピードアップ
- インスタグラム・スクレイピングのためのモバイル・プロキシ
b.代理人情報の取得
プロキシ・サービスを選択したら、必要な情報を集める:プロキシ・サーバーのアドレス、ポート番号、該当する場合はユーザー名とパスワード。
| 🚨 頭を上げろ: Snscrapeはネイティブでセッションインジェクションをサポートしていないので、プロキシの使用はリクエストセッションオブジェクトを介して間接的に行われます。 |
c.Pythonスクリプトの設定
次に、snscrape リクエストをプロキシ経由でルーティングするように Python スクリプトを修正する必要があります。
以下にその例を挙げる:
import snscrape.modules.twitter as sntwitter import requests # Proxy configuration proxies = { 'http':'http://username:password@proxyserver:port', 'https': 'https://username:password@proxyserver:port', }.# セッションを作成し、プロキシを使用するように設定する session = requests.Session() session.proxies.update(proxies) # セッションでsnscrapeを使用する for tweet in sntwitter.TwitterSearchScraper('keyword', session=session).get_items(): print(tweet.content)
交換 ユーザー名, パスワード, プロキシサーバー、 ポート に代理人の詳細をご記入ください。をお送りください。 キーワード は検索語に置き換えてください。
7.Snscrapeでプロキシを使うべき理由
- レート制限をバイパスする:プロキシは、異なるIPアドレスにリクエストを分散させることで、X(ツイッター)のレート制限を回避することができます。
- IP禁止を避ける:同一IPからの定期的なスクレイピングは、BANにつながる可能性があります。プロキシは以下の方法でこのリスクを軽減します。 IPアドレスのローテーション.
- 地理的に制限されたコンテンツへのアクセス:プロキシは、異なる場所からのIPアドレスを提供し、地域固有のコンテンツへのアクセスを可能にします。
- 匿名性とプライバシー:プロキシを使用すると、実際のIPアドレスを隠すことができ、プライバシーが向上し、追跡されるリスクを減らすことができます。
- パフォーマンスの向上:プロキシはデータ検索を高速化し、負荷を分散することでサーバーの過負荷リスクを軽減します。
8.Snscrapeの代替品
snscrapeはソーシャルメディアデータスクレイピングのための堅牢なツールですが、代替ツール(ベストウェブスクレイピングツール)が必要な状況もあります。異なる機能要件、プラットフォームサポート、使いやすさのためであろうと、他のツールをチェックすることは役に立つかもしれません。ここでは、snscrapeに代わる注目すべきツールを紹介します:
| 工具 | 最適 | APIフリー? | コーディングが必要か? |
| スネクレープ | Twitter/Xスクレイピング | ✅ | ✅ |
| ツインテ | 大規模なTwitterデータセット | ✅ | ✅ |
| スクラップ | 一般的なウェブサイトのスクレイピング | ❌ | ✅ |
| オクトパース | GUIベースのスクレイピング(コーディング不要) | ✅ | ❌ |
| パースハブ | 複雑なページ(JS/AJAXが多い) | ✅ | ❌ |
a.ツインテ
ツインテ のためのPythonライブラリです。 ツイッターのスクレイピング データを収集する。TwitterのAPIや認証を必要とせず、大量のツイートをスクレイピングできることで知られている。Twintは、ツイート、フォロワー、「いいね!」など、様々な情報を取得することができる。Twitterから大規模なデータセットを収集する必要がある場合に特に役立つ。
b.スクラップ
スクラップ は、より一般的な ウェブスクレイピング フレームワークである。ソーシャルメディア用に特別に設計されているわけではないが、あらゆるウェブサイトからデータを抽出するのに非常に強力だ。 Scrapyは複雑なスクレイピングタスクに適しており、スクレイピングジョブに対して広範なカスタマイズとコントロールを提供する。より高度なプログラミングスキルを持ち、様々なソースからデータをスクレイピングする必要があるユーザーに最適です。
c.ビューティフルスープ
BeautifulSoupはHTMLやXMLドキュメントをパースするためのPythonライブラリです。ウェブページからデータをスクレイピングするためにリクエストライブラリと組み合わせて使われることが多い。snscrapeと比較してより多くのセットアップが必要ですが、BeautifulSoupは素晴らしい柔軟性を提供し、必ずしもソーシャルメディアプラットフォームではないウェブページからデータを抽出する際に強力です。
d.オクトパース
オクトパース は、コーディングスキルを必要としない、ユーザーフレンドリーなポイント&クリック式のデータ抽出ツールです。ノンプログラマーや、スクレイピング作業にグラフィカルなインターフェースを好む方に適しています。 Octoparseは、ソーシャルメディアサイトを含む様々な種類のウェブページから、単純なデータ抽出から複雑なデータ抽出まで行うことができます。
e.データマイナー
データマイナー はChromeとEdgeのブラウザ拡張機能で、ウェブページからデータをスクレイピングし、ExcelやGoogle Sheetsを含む様々なファイル形式に変換することができます。非常にユーザーフレンドリーで、コードを書かずに素早くデータをスクレイピングする必要がある人に適しています。
f.パースハブ
パースハブ は、ウェブページからデータを識別、抽出、変換する機械学習技術を備えたビジュアルデータ抽出ツールです。私たちの パースハブ レビュー 複雑なウェブサイトをスクレイピングするための強力なツールで、JavaScriptやAJAXを使ったウェブサイトを扱うことができる。
9.Snscrapeは合法ですか?
はいsnscrapeは一般に公開されているデータのみをスクレイピングする。ツイート、ユーザー名、ハッシュタグ、タイムスタンプなど。それは ない プライベートメッセージやログイン保護されたコンテンツにアクセスできます。
とはいえ、合法性は必ずしも白黒つけられるものではない。公共データのスクレイピングは一般的に合法である、 Twitter/XやInstagramのようなプラットフォームには、自動アクセスを禁止する利用規約がある。.
🛡️ 責任を持ってsnscrapeを使用する方法:
- ペイウォールやログインの背後にスクレイピングしない
- レート制限とサイトの完全性を尊重する
- プラットフォームの最新ポリシーを常にチェックする
詳しくはこちら: ウェブスクレイピングは合法か?
10.Snscrapeに関するよくある質問
Snscrapeは、Twitter(現在はX)、Instagram、Facebook、Redditなどのプラットフォームから公開データをスクレイピングするためのPythonベースのツールです。ツイートの収集、ハッシュタグの追跡、ユーザーアクティビティのモニター、リサーチやデータ分析のためのデータセットの構築によく使われる。
Snscrapeは、APIキーを必要とせず、設定ステップやレート制限が少ないため、公開されているTwitterデータのカジュアルまたは柔軟なスクレイピングに適しています。しかし、公式のTwitter APIによって提供される完全なアクセスと構造化されたエンドポイントが欠けている。そのため、このAPIは企業や大規模なユースケースに適している。
SnscrapeはInstagramとFacebookのサポートに制限があります。これらのプラットフォームのスクレイピングは、頻繁なレイアウト変更とボット対策のため信頼性が低い。SnscrapeはTwitterとRedditで最もうまく機能しますが、FacebookとInstagramのスクレイピングはより頻繁に壊れる可能性があり、プロキシのような追加ツールが必要になります。
はい、あまりにも積極的にスクレイピングを行ったり、短時間に多くのリクエストを送信したりすると、ブロックされる可能性があります。これを避けるには、リクエストの遅延を実装するか、プロキシサービスを使用してIPをローテーションし、レート制限を回避することを強くお勧めします。公開データへのアクセスを維持しながら。
11.最後の言葉
Snscrapeはソーシャルメディアのデータ抽出に最適なツールです。Pythonの基本的なスキルがあれば、様々なニーズに合わせてデータスクレイピングをカスタマイズすることができます。
ただ、問題を避けるために、snscrapeを正しく倫理的に使用するようにしてください。
スケールでSnscrapeを実行する
大規模なデータセットは、より多くのリクエストを意味します。住宅用プロキシをローテーションしてトラフィックを分散させることで、中断やIPブロックを回避します。
際限なく削る



0コメント