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

Shop::Yandex::Market - Yandex.Market商品スクレイパー

img

スクレイパーの概要

Yandex market 商品スクレイパーを使用すると、商品カードからのデータ取得、商品リンクのデータベース構築、価格変動の追跡、出品者数の変化の監視、評価やレビュー数の収集、商品画像の取得が可能です。

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

収集データ

img

  • 商品名
  • 商品リンク
  • 商品画像
  • 価格と旧価格
  • 通貨
  • 評価とコメント数
  • 出品者数
  • 追加情報
  • 商品の購入数と閲覧数

ユースケース

  • 商品リンクの収集
  • 商品の人気度の評価
  • 価格動向と商品の人気の追跡

クエリ

クエリとしてキーワードまたはカテゴリへのリンクを指定する必要があります。例:

xiaomi redmi note
https://market.yandex.ru/catalog/54726/list?local-offers-first=0&deliveryincluded=0&onstock=1

結果の出力例

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

商品名、最低価格、評価の出力

結果フォーマット:

$products.format('商品名: $title, 最低価格: $amountfrom, 評価: $rating\n')

結果の例:

商品名: スマートフォン Apple iPhone 11 64GB, 最低価格: 46 244, 評価: 4.7
商品名: スマートフォン Apple iPhone Xr 64GB, 最低価格: 36 990, 評価: 4.7
商品名: スマートフォン Apple iPhone 12 64GB, 最低価格: 60 840, 評価: 4.7
商品名: スマートフォン Apple iPhone SE 2020 64GB, 最低価格: 33 490, 評価: 4.5
商品名: スマートフォン Apple iPhone Xr 128GB, 最低価格: 43 450, 評価: 4.7

CSVテーブルへの出力

結果フォーマット:

[% FOREACH item IN products;   
tools.CSVline(item.cardlink, item.title, item.amountfrom, item.rating, item.commentscount);
END %]

結果の例:

https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206538929466307988916001&context=search&text=iphone&sku=101106266737,"スマートフォン Apple iPhone 11 64GB","46 244",4.7,810
https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206538929466307988916002&context=search&text=iphone&sku=101103379766,"スマートフォン Apple iPhone Xr 64GB","36 990",4.7,624
https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206538929466307988916003&context=search&text=iphone&sku=101077347750,"スマートフォン Apple iPhone 12 64GB","60 840",4.7,103
https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206538929466307988916004&context=search&text=iphone&sku=101099789863,"スマートフォン Apple iPhone SE 2020 64GB","33 490",4.5,358

開始テキスト:

商品リンク, 商品名, 最低価格, 評価, コメント数

ヒント

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

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

SQL形式での保存

結果フォーマット:

[% FOREACH item IN products;
"INSERT INTO products VALUES('" _ item.title _ "', '"; item.cardlink _ "', '"; item.amountfrom _ "', '"; item.rating _ "')\n";
END %]

結果の例:

INSERT INTO products VALUES('スマートフォン Apple iPhone 11 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206542754162480526716001&context=search&text=iphone&sku=101106266737', '46 244', '4.7')
INSERT INTO products VALUES('スマートフォン Apple iPhone Xr 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206542754162480526716002&context=search&text=iphone&sku=101103379766', '36 990', '4.7')
INSERT INTO products VALUES('スマートフォン Apple iPhone 12 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206542754162480526716003&context=search&text=iphone&sku=101077347750', '60 840', '4.7')
INSERT INTO products VALUES('スマートフォン Apple iPhone SE 2020 64GB', 'https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206542754162480526716004&context=search&text=iphone&sku=101099789863', '33 490', '4.5')

結果のJSONダンプ

共通結果形式:

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

obj = {};
obj.query = query;
obj.items = [];

FOREACH item IN p1.products;
obj.items.push({
link = item.cardlink
name = item.title
amountfrom = item.amountfrom
});
END;

obj.json %]

開始テキスト:

[

終了テキスト:

]

結果の例:

[
{
"query": "https://market.yandex.ru/catalog--mobilnye-telefony/54726/list?text=iphone&hid=91491&was_redir=1&rt=10&cpa=0&onstock=0&local-offers-first=0",
"items": [
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-11-64gb/558171067?nid=54726&show-uid=16206548825917275667016001&context=search&text=iphone&sku=101106266737",
"amountfrom": "46 244",
"name": "スマートフォン Apple iPhone 11 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-xr-64gb/175941311?nid=54726&show-uid=16206548825917275667016002&context=search&text=iphone&sku=101103379766",
"amountfrom": "36 990",
"name": "スマートフォン Apple iPhone Xr 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-12-64gb/722976004?nid=54726&show-uid=16206548825917275667016003&context=search&text=iphone&sku=101077347750",
"amountfrom": "60 840",
"name": "スマートフォン Apple iPhone 12 64GB"
},
{
"link": "https://market.yandex.ru/product--smartfon-apple-iphone-se-2020-64gb/661221015?nid=54726&show-uid=16206548825917275667016004&context=search&text=iphone&sku=101099789863",
"amountfrom": "33 490",
"name": "スマートフォン Apple iPhone SE 2020 64GB"
}
]
}
]
ヒント

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

利用可能な設定

パラメータデフォルト値説明
AntiGate presetdefaultUtil::AntiGateUtil::AntiGate プリセットの選択。設定の詳細は こちら
AntiGate preset for old captchadefaultAntiGate preset と同様ですが、通常の(古い、単一画像の形式の)キャプチャにのみ使用されます。ここでプリセットが選択されていない場合は、AntiGate preset で選択されたプリセットがこれらのキャプチャに使用されます。
Auto-Solve ClickCaptchaクリックキャプチャの自動解決(外部サービス不使用)
Experimental img captcha max count11回の試行における画像キャプチャの最大再試行回数
Pages count5スクレイピングするページ数
Search region IDNot setスクレイピング対象の地域