SE::Rambler - Rambler検索結果スクレイパー

スクレイパーの概要
Rambler検索結果のスクレイパーです。Ramblerスクレイパーを使用することで、その後の利用に最適な大規模なリンクベースを取得できます。Ramblerの検索バーに入力するのと同様の形式で、検索演算子(siteなど)を含むクエリを使用できます。
A-Parserの機能により、Ramblerスクレイパーのスクレイピング設定を保存して再利用(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。自動クエリ増殖、ファイルからのサブクエリ置換、英数字の組み合わせやリストの総当たりを使用して、可能な限り多くの結果を取得できます。
組み込みの強力なテンプレートエンジン Template Toolkit により、結果に追加のロジックを適用し、JSON, SQL, CSVを含む様々な形式でデータを保存・出力できます。
収集データ
$totalcount— 検索結果の総数。最初のページからのみ取得。数値がない場合は空$serp.$i.link,$serp.$i.anchor,$serp.$i.snippet— リンク、アンカー、スニペット$hints.$i.hint— 関連キーワード。最初のページからのみ取得。ヒントがない場合は空

機能
- Ramblerの検索演算子をサポート (url:, site:, inurl:, host:, rhost:, domain:)
- 最大25ページ、約250件までの結果
- 関連キーワード (
$hints.$i.hint) - デバイス設定: デスクトップ、モバイルAndroid、またはモバイルiOS
ユースケース
- リンクベースの収集
- キーワードの競合調査
- サイトのバックリンク(言及)検索
- Ramblerの検索結果をスクレイピングする必要があるすべてのケース
クエリ
Rambler検索と同じようにクエリを指定してください。例えば、特定のサイトからのリンクのみが必要な場合は、クエリフィールドに次のように入力します:
"ドア 購入" site:http://kp.ru
クエリ置換
クエリを増殖させるために組み込みマクロを使用できます。例えば、非常に大規模なフォーラムのデータベースを取得したい場合、複数の言語でいくつかのメインクエリを指定します:
forum
フォーラム
foro
论坛
クエリ形式で a から zzzz までの文字の総当たりを指定すると、検索結果を最大限にローテーションさせ、多くの新しいユニークな結果を得ることができます:
$query {az:a:zzzz}
このマクロは、元の各検索クエリに対して 475254 個の追加クエリを作成し、合計で 4 x 475254 = 1901016 個の検索クエリになります。驚異的な数字ですが、A-Parserにとっては全く問題ありません。毎分 2000 クエリの速度であれば、このタスクは約 16 時間で完了します。
演算子の使用
クエリ形式で検索演算子を使用できます。これにより、リスト内の各クエリに自動的に演算子が追加されます:
site:$query
結果の出力例
A-Parserは組み込みのテンプレートエンジン Template Toolkit により柔軟な結果フォーマットをサポートしており、任意の形式やCSV、JSONなどの構造化データで結果を出力できます。
リンク一覧のエクスポート
リンク + アンカー + スニペット(順位付き)
CSVテーブルへのリンク、アンカー、スニペットの出力
関連キーワードの保存
結果フォーマット:
$hints.format('$hint\n')
結果の例:
habrahabr
habr
habrahabr ru
xabra
livebusiness
エブリカ
電子会計士
エルバ島
エルバ 電子会計士
Habrahabr
...
SQL形式での保存
JSONへの結果ダンプ
結果の処理
A-Parserではスクレイピング中に直接結果を処理できます。このセクションでは、Ramblerスクレイパーで最も人気のあるケースを紹介します。
リンクの重複排除
ドメインによるリンクの重複排除
ドメインの抽出
アンカーとスニペットからのタグ削除
含有によるリンクのフィルタリング
設定可能な項目
| パラメータ名 | デフォルト値 | 説明 |
|---|---|---|
| Device | Desktop | 出力デバイス: デスクトップ、モバイルAndroid、またはモバイルiOS |
| Wait for soft captcha, sec (0 = ban) | 25 | ソフトキャプチャの通過を待機する秒数。 0 は即座にプロキシをBANします |
| Page load timeout, sec | 20 | ページ読み込みタイムアウト |
| Pages count | 5 | スクレイピングするページ数(1–25)。Ramblerは約250件までしか結果を返さないため、最大ページ数は Links per page に依存します: 10件 → 25ページ、15件 → 17ページ、30件 → 8ページ、50件 → 5ページ |
| Links per page | 10 | 1ページあたりの結果数: 10 / 15 / 30 / 50 |
| Rambler region ID | リージョンID。CIS諸国以外のIPはモスクワになります。CIS諸国のIPは、IPによる結果またはこのIDが指定されている場合はそのIDによる結果になります。IDの確認方法はこちら | |
| Sort | Sites by relevance | 並べ替え: Pages by relevance, Pages by date, Sites by relevance, Sites by date |
| Results filtering | Moderate | フィルタ: Unrestricted, Moderate, Family search |
| Results language | Any language | 検索結果の言語: すべて、または Belarusian, English, German, French, Kazakh, Russian, Tatar, Turkish, Ukrainian |
| Serp time | Anytime | 期間: Anytime, Past 24 hours, Past week, Past month |
| Results type | Any format | ドキュメントタイプ: すべて、または pdf, doc, rtf, xls, ppt, swf, odt, ods, odp, odg |
| Exact match | ☐ | クエリへの完全一致 |
| Disable autocorrect | ☐ | 自動修正を無効にし、指定されたクエリで検索結果をスクレイピングします |
| Max concurrent browser pages | 10 | スクレイパーが同時に保持するブラウザタブの数。スレッド数が多い場合に増やす際は注意してください。メモリとCPUの負荷が増大します |
| Use sessions | ☑ | 良好なセッションを保存し、エラーを減らし、スクレイピングを高速化します |
| Headless browser | ☑ | ウィンドウなしのブラウザ。デバッグ時はチェックを外してください |