メインコンテンツへスキップ

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

DuckDuckGo

DuckDuckGoスクレイパーの概要

DuckDuckGo検索結果のスクレイパーです。DuckDuckGoスクレイパーを使用することで、後続の処理に利用可能な大規模なリンクベースを取得できます。DuckDuckGoの検索バーに入力するのと同様のクエリを使用でき、検索演算子(intitle, inurl, siteなど)もサポートしています。詳細は公式ページ DuckDuckGo Search Syntax を参照してください。

A-Parserの機能により、DuckDuckGoスクレイパーのスクレイピング設定を保存して再利用(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。自動クエリ増殖、ファイルからのサブクエリ置換、英数字の組み合わせやリストの総当たりを使用して、最大限の検索結果を取得できます。

内蔵された強力なテンプレートエンジンTemplate Toolkitにより、結果に独自のロジックを適用し、JSON, SQL, CSVを含む様々な形式で、必要な構造のままデータを保存できます。

収集データ

  • 検索結果のリンク、アンカー、スニペット ($serp.$i.link, $serp.$i.anchor, $serp.$i.snippet)
  • 広告枠のリンク、表示リンク、アンカー、スニペット、ドメイン、広告掲載順位 ($ads.$i.domain, $ads.$i.link, $ads.$i.visiblelink, $ads.$i.anchor, $ads.$i.snippet, $ads.$i.position, $ads.$i.page)
  • 関連キーワードのリスト ($related.$i.key)
収集データ

機能

  • すべてのDuckDuckGo検索演算子(intitle:, inurl:, site:など)をサポート。検索演算子の詳細は公式ページDuckDuckGo Search Syntaxを参照
  • ページ数の指定 (1から10まで)
  • オーガニック検索結果に加えて、広告ブロック関連キーワードを収集
  • 選択した地域 (Region オプション) でのスクレイピングと言語の指定 (Language オプション) が可能
  • セーフサーチの有効化 (Safe search オプション) と期間による結果の制限 (Serp time オプション) が可能
  • 検索ページと検索データリクエストに対する個別の HTTP/2 有効化
  • DuckDuckGoがHTTP経由で検索結果を返さない場合、内蔵ブラウザへの自動切り替え

ユースケース

  • A-Poster, XRumer, AllSubmitterなどのためのリンクベース収集
  • サイトのインデックス状況の確認
  • サイトのバックリンク(言及)検索
  • その他、DuckDuckGoのスクレイピングを必要とするあらゆるケース

クエリ

クエリには検索フレーズを指定します。例:

Football  
テスト
site:a-parser.com
スクレイパー site:a-parser.com
test -site:tests.com
IoT filetype:pdf

クエリ置換

内蔵マクロを使用してクエリを増殖させることができます。例えば、非常に大規模なフォーラムのベースを取得したい場合、複数の言語で主要なクエリを指定します:

forum
フォーラム
foro
论坛

クエリ形式でaからzzzzまでの文字の総当たりを指定します。この手法により、検索結果を最大限にローテーションさせ、多くの新しいユニークな結果を得ることができます:

$query {az:a:zzzz}

このマクロは、元の検索クエリ1つにつき475254個の追加クエリを生成し、合計で4 x 475254 = 1901016個の検索クエリになります。膨大な数字ですが、A-Parserにとっては全く問題ありません。毎分2000クエリの速度であれば、このタスクは約16時間で完了します。

演算子の使用

クエリ形式で検索演算子を使用できます。これにより、リスト内の各クエリに自動的に演算子が追加されます:

site:$query

結果出力例

A-Parserは、内蔵のテンプレートエンジンTemplate Toolkitにより、柔軟な結果フォーマットをサポートしています。これにより、任意の形式や、CSV、JSONなどの構造化された形式で結果を出力できます。

リンク一覧のエクスポート

SE::Googleと同様です。

SE::Googleと同様です。

SE::Googleと同様です。

SE::Googleと同様です。

広告ブロックの出力

SE::Googleと同様です。

SQL形式での保存

SE::Googleと同様です。

結果をJSONにダンプ

SE::Googleと同様です。

結果の処理

A-Parserではスクレイピング中に直接結果を処理できます。このセクションでは、DuckDuckGoスクレイパーで最も一般的なケースを紹介します。

SE::Googleと同様です。

SE::Googleと同様です。

ドメインの抽出

SE::Googleと同様です。

アンカーとスニペットからのタグ削除

SE::Googleと同様です。

SE::Googleと同様です。

設定可能な項目

パラメータ名デフォルト値説明
Pages count5スクレイピングするページ数(1から10)、検索結果に次のページがない場合は途中で終了することがあります
RegionUS (English)検索結果のリージョンを選択
LanguageEnglish (United States)検索結果の言語を選択
Safe searchModerateセーフサーチ: StrictModerate または Off
Serp timeAny time検索期間: 24時間以内、1週間以内、1ヶ月以内、1年以内、または全期間
Use HTTP/2検索ページの要求時に HTTP/1.1 の代わりに HTTP/2 を使用するかどうかを指定
Use HTTP/2 for links検索結果データの要求時も同様
User agentChrome 150, Windowsページ要求時の User-Agent ヘッダー。ブラウザでも使用されます。空のままにすると、最新バージョンの Firefox の User-Agent が使用されます
Get first link with browser pages count5同時に使用できる内蔵ブラウザのページ数。ブラウザは検索ページの取得にのみ必要です。DuckDuckGo が HTTP 経由でデータを返さなかった場合、次の試行はブラウザ経由で実行されます