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

SE::Yandex::WordStat::ByRegion -

Yandex WordStat: ByRegion

スクレイパーの概要

Wordstatは、SEO最適化やリスティング広告のためのキーワード選定、および様々なトピックに対するユーザーの関心を評価するために設計されたYandexのサービスです。さらに、Wordstat Yandexを使用すると、検索クエリの季節性や地域依存性を評価することもできます。

Yandex WordStat by regionスクレイパーはクエリの自動展開をサポートしており、検索結果から最大数の結果を確実に取得できます。また、A-Parserは指定された深さまで関連クエリを自動的に辿ることができます。

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

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

アカウント

スクレイパー SE::Yandex::WordStat::ByRegionSE::Yandex::WordStat::ByRegion の動作には Yandex アカウントが必要です。アカウントはスクレイパー SE::Yandex::RegisterSE::Yandex::Register を使用して登録するか、既存のアカウントを files/SE-Yandex/accounts.txt ファイルに サポートされている形式 で追加してください。

または、アカウントの「オンザフライ」登録を有効にすることもできます。

収集データ

  • クエリごとの総表示回数
  • 地域および都市別のキーワード統計:
  • 地域/都市
  • 月間閲覧数
  • 地域別の人気度(%)

機能

  • Smart captchaの自動回避のサポート、およびAntiCaptchaサービスまたはそのAPIをサポートする他のサービスを使用した画像キャプチャの回避機能
  • デバイスタイプの選択
  • 認証方法の選択機能
  • アカウントの「オンザフライ」登録機能
  • 拡張アカウント形式をサポートし、秘密の質問に回答可能(infoに回答がある場合)。また、認証に保存されたプロキシを使用(infoにある場合)。

ユースケース

  • 地域別のキーワードによるトラフィック量の評価

クエリ

クエリには、Wordstatの検索フォームに直接入力する場合と同じようにキーワードを指定する必要があります。例:

test

結果の出力例

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

デフォルト出力

結果のフォーマット:

$query - Total views: $totalcount\nViews by regions:\n$regions.format('$region $count, $popularity%\n')\nViews by cities:\n$cities.format('$city $count, $popularity%\n')

結果には、クエリごとの表示回数、地域および都市別のキーワード統計、月間閲覧数、地域別の人気度が表示されます:

test - Total views: 872855
Views by regions:
モスクワおよびモスクワ州 147107, 85%
中央 194716, 77%
北西 55815, 70%
南部 31759, 67%
ヴォルガ沿岸 86006, 66%
...
Views by cities:
チタ 2937, 113%
サンクトペテルブルク 35713, 73%
ベルゴロド 2737, 58%
イヴァノヴォ 1773, 55%
カルーガ 2196, 64%
コストロマ 1166, 49%

CSVテーブルへの出力

結果のフォーマット:

[% FOREACH i IN regions;
tools.CSVline(query, i.popularity, i.region, i.count);
END %]

結果の例:

"テスト",88,"モスクワおよびモスクワ州",1902795
"テスト",96,"中央",2992864
"テスト",95,"北西",926138
"テスト",112,南部,647140
"テスト",124,"ヴォルガ沿岸",1927873
"テスト",64,"西部",60975
"テスト",86,"東部",427304

SQL形式での保存

結果のフォーマット:

[% FOREACH i IN regions;
"INSERT INTO regions VALUES('" _ query _ "', '"; i.popularity _ "', '"; i.count _ "', '"; i.region _ "')\n";
END %]

結果の例:

INSERT INTO regions VALUES('テスト', '88', '1902795', 'モスクワおよびモスクワ州')
INSERT INTO regions VALUES('テスト', '96', '2992864', '中央')
INSERT INTO regions VALUES('テスト', '95', '926138', '北西')
INSERT INTO regions VALUES('テスト', '112', '647140', '南部')
INSERT INTO regions VALUES('テスト', '124', '1927873', 'ヴォルガ沿岸')
INSERT INTO regions VALUES('テスト', '64', '60975', '西部')
INSERT INTO regions VALUES('テスト', '86', '427304', '東部')
INSERT INTO regions VALUES('テスト', '80', '89569', '南部')
INSERT INTO regions VALUES('テスト', '75', '356560', '中央')
INSERT INTO regions VALUES('テスト', '77', '34894', '北部')

JSONへの結果のダンプ

共通結果形式:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.totalcount = p1.totalcount;
obj.regions = [];

FOREACH item IN p1.regions;
obj.regions.push({
popularity = item.popularity
region = item.region
count = item.count
});
END;

obj.json %]

開始テキスト:

[

終了テキスト:

]

結果の例:

[
{
"regions": [
{
"count": "1902795",
"popularity": 88,
"region": "モスクワおよびモスクワ州"
},
{
"count": "2992864",
"popularity": 96,
"region": "中央"
},
{
"count": "926138",
"popularity": 95,
"region": "北西"
},
{
"count": "647140",
"popularity": 112,
"region": "南部"
},
{

"count": "34894",
"popularity": 77,
"region": "北部"
},
],
"totalcount": "10837937"
}
]
ヒント

設定可能な項目

パラメータデフォルト値説明
AntiGate presetdefaultあらかじめ Util::AntiGateUtil::AntiGate スクレイパーを設定(アクセスキーやその他のパラメータを指定)し、作成したプリセットをここで選択する必要があります
AntiGate preset for Logindefaultログイン用のAntiGateプリセット。あらかじめパラメータを指定して Util::AntiGateUtil::AntiGate スクレイパーを設定し、作成したプリセットをここで選択する必要があります
TypeAllデバイスタイプの選択
AccountsOnly from "accounts.txt"アカウント操作方法の選択: Always auto register - 常にアカウントを「オンザフライ」で自動登録します。SE::Yandex::Register presetパラメータで設定済みプリセットを選択する必要があります。 Auto register if no more in "accounts.txt" - まず accounts.txt の既存アカウントを使用し、不足した場合は「オンザフライ」自動登録を使用します。同様にSE::Yandex::Register presetでプリセットを選択する必要があります。 Only from "accounts.txt" - accounts.txt の既存アカウントのみを使用し、不足した場合は新しいアカウントが表示されるまで指定された時間(Wait new accounts in "accounts.txt"パラメータ)待機します
Wait new accounts in "accounts.txt"0accounts.txt に新しいアカウントが表示されるまでの待機時間
Remove bad accountsAlways, except wrong login/password「不良」アカウントの自動削除: Always - 常に削除。 Always, except wrong login/password - Yandexがログイン/パスワードが正しくないと報告した場合を除き、常に削除。YandexはIPブロック時に正常なアカウントに対してもこのメッセージを返すことがあるため、再利用のために残すオプションです。 Never - 削除しない。選択したオプションに関わらず、プロキシ/ブラウザエラー時にはアカウントは削除されません
SE::Yandex::Register presetdefaultSE::Yandex::RegisterSE::Yandex::Register の設定プリセットを選択
Authorization methodHTTP認証方法: HTTP - 高速でリソース消費が少ない。 Chrome - 低速でリソースを消費するが、理論的にアカウントの寿命を延ばす可能性がある
Chrome headless有効にすると、ブラウザは表示されません
Use sessionsセッションの使用
Do not reset session if authorization passedスクレイパーが既に認証されている場合、エラー時にセッションをリセットしない
Use Wordstat 2Wordstat 2の使用
Wordstat 2 parse all table dataページネーションを経由せずに、クエリごとに全2000件の結果を即座に取得できます