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

Shop::Wildberries::Suggest - Wildberries検索サジェストスクレイパー

スクレイパーの概要

Wildberriesのキーワード検索候補(サジェスト)を取得するスクレイパーです。Shop::Wildberries::Suggest スクレイパーを使用することで、Wildberriesの検索窓に表示されるサジェストから、クエリに基づいたキーワードベースを自動的に収集できます。Shop::Wildberries::Suggest スクレイパーを利用すれば、リクエストに応じてWildberriesのサジェストを簡単かつ迅速にスクレイピングすることが可能です。

Wildberriesサジェストスクレイパーは、SEOの主要な課題の一つである、拡張されたセマンティックカーネルの迅速な自動取得を解決します。Wildberriesの検索候補を利用することで、特に「Parse to level」機能を使用した場合に、最大限のフレーズを網羅することができます。

A-Parserのマルチスレッド動作により、リクエスト処理速度は毎分最大 10,000 リクエストに達し、平均して毎分約 20,000〜50,000 件の結果を取得できます。

Shop::Wildberries::Suggest スクレイパーの動作速度

クエリの自動増殖、ファイルからのサブクエリの挿入、英数字の組み合わせやリストの総当たりを使用して、可能な限り多くの結果を取得できます。結果のフィルタリングを使用すると、除外キーワードの使用やサジェストタイプによるフィルタリングにより、不要なゴミを削除して結果をすぐにクリーンアップできます。

A-Parserの機能により、Shop::Wildberries::Suggest スクレイパーのスクレイピング設定を将来の使用のために保存(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。

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

収集データ

  • クエリごとの結果数
  • クエリに対するサジェスト
  • サジェストのタイプ (suggest/category/brand)

Shop::Wildberries::Suggest スクレイパーが収集するデータ

機能

  • 深掘りスクレイピング時のキーワードフィルタリング機能
  • Parse to level 機能の使用が可能

ユースケース

  • キーワードベースの収集

クエリ

クエリとして検索フレーズを指定する必要があります。例:

adidas
マイキとTシャツ
スマートフォン Xiaomi

クエリの置換

内蔵マクロを使用して、ファイルからサブクエリを自動的に挿入できます。例えば、各クエリに他の単語のリストを追加したい場合、いくつかのメインクエリを指定します:

割引
キャンペーン
セール

クエリ形式で、ファイル Keywords.txt から追加の単語を挿入するマクロを指定します。この方法により、クエリのバリエーションを大幅に増やすことができます:

$query {subs:Keywords}

このマクロは、元の検索クエリごとにファイル内の単語数と同じ数の追加クエリを作成します。その結果、マクロの動作により [元のクエリ数] x [Keywordsファイル内のクエリ数] = [総クエリ数] となります。

例えば、Keywords.txt ファイルに上記の置換候補が含まれている場合、最終的に9つのクエリが生成されます:

adidas 割引
マイキとTシャツ 割引
スマートフォン Xiaomi 割引
adidas キャンペーン
マイキとTシャツ キャンペーン
スマートフォン Xiaomi キャンペーン
adidas セール
マイキとTシャツ セール
スマートフォン Xiaomi セール

結果の出力例

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

サジェストリストのエクスポート

結果フォーマット:

$results.format('$suggest\n')

結果の例:

adidas スニーカー
adidas レディース
adidas スニーカー メンズ
adidas terrex
adidas superstar
adidas originals
adidas terrex スニーカー メンズ
ケッズとスニーカー
デオドラント
adidas

クエリ、クエリごとのサジェスト + サジェストタイプの出力

結果フォーマット:

$query:\n$results.format('$suggest - $type\n')

結果の例:

adidas スニーカー - suggest
adidas レディース - suggest
adidas スニーカー メンズ - suggest
adidas terrex - suggest
adidas superstar - suggest
adidas originals - suggest
adidas terrex スニーカー メンズ - suggest
ケッズとスニーカー - category
デオドラント - category
adidas - brand

CSVテーブルへの出力

内蔵ユーティリティ $tools.CSVLine を使用すると、ExcelやGoogleスプレッドシートにインポート可能な正しいテーブルドキュメントを作成できます。

結果フォーマット:

[% FOREACH i IN results;
tools.CSVline(i.suggest);
END %]

ファイル名:

$datefile.format().csv

初期テキスト:

サジェスト

ヒント

結果フォーマットでは、FOREACH ループ内で $results 配列の要素を出力するために Template Toolkit テンプレートエンジン が使用されています。

結果のファイル名では、ファイルの拡張子を csv に変更するだけです。

「Prepend text」オプションをタスクエディタで利用するには、「More options」を有効にする必要があります。 「Prepend text」にカラム名をカンマ区切りで記入し、2行目を空行にします。

SQL形式での保存

結果フォーマット:

[% FOREACH results;
"INSERT INTO serp VALUES('" _ query _ "', '"; suggest _ "', '"; type _ "')\n";
END %]

結果の例:

INSERT INTO serp VALUES('adidas', 'adidas スニーカー', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas レディース', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas スニーカー メンズ', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas terrex', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas superstar', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas originals', 'suggest')
INSERT INTO serp VALUES('adidas', 'adidas terrex スニーカー メンズ', 'suggest')
INSERT INTO serp VALUES('adidas', 'スニーカー・運動靴', 'category')
INSERT INTO serp VALUES('adidas', 'デオドラント', 'category')
INSERT INTO serp VALUES('adidas', 'adidas', 'brand')

JSONへの結果ダンプ

全般的な結果フォーマット:

[% result.${query} = {
totalcount = p1.totalcount
suggests = []
};

FOREACH i IN p1.results;
result.${query}.suggests.push(i.suggest);
END %]

初期テキスト:

[% result = {} %]

最終テキスト:

[% result.json %]

結果の例:

{
"adidas": {
"suggests": [
"adidas adidas スニーカー",
"adidas adidas レディース",
"adidas adidas スニーカー メンズ",
"adidas terrex",
"adidas superstar",
"adidas originals",
"adidas terrex adidas terrex スニーカー メンズ",
"ケッズとスニーカー",
"デオドラント",
"adidas"
],
"totalcount": 10
},
"マイキ": {
"suggests": [
"マイキ レディース 夏用",
"マイキ メンズ 夏用",
"マイキ 子供用",
"マイキ スポーツ用",
"マイキ 男の子用",
"マイキ レディース",
"マイキ レディース インナー トルコ製",
"マイキ"
],
"totalcount": 8
}
}
ヒント

「Prepend text」および「Append text」オプションをタスクエディタで利用するには、「More options」を有効にする必要があります。

結果の処理

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

Parse to level(指定レベルまでスクレイピング)オプション

このオプションは、取得した結果を指定されたレベルまで深掘りしてクエリキューに再投入するようスクレイパーに指示します。例:

  • レベル1が指定された場合、スクレイパーは元のクエリから取得したすべての結果をクエリに追加します。
  • レベル2が指定された場合、スクレイパーは元のクエリから取得したすべての結果 + レベル1のクエリから取得したすべての結果をクエリに追加します。
  • 以降同様です。

結果には重複が含まれる可能性が高いため、スクレイパーが無駄な作業(同じ内容のスクレイピング)をしないように、クエリ重複排除 (Unique queries) を有効にすることをお勧めします。

設定可能な項目

パラメータ名デフォルト値説明
Follow suggestsAllParse to level 使用時にクエリに再投入するサジェストのタイプを選択します (All / Suggest / Tag / Brand)。複数選択が可能です。