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

スクレイパーの概要
Yandex market 商品スクレイパーを使用すると、商品カードからのデータ取得、商品リンクのデータベース構築、価格変動の追跡、出品者数の変化の監視、評価やレビュー数の収集、商品画像の取得が可能です。
A-Parserの機能により、スクレイピング設定を将来の使用のために保存(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。自動クエリ拡張、ファイルからのサブクエリ置換、英数字の組み合わせやリストの総当たりを使用して、最大限の結果を得ることができます。
収集データ

- 商品名
- 商品リンク
- 商品画像
- 価格と旧価格
- 通貨
- 評価とコメント数
- 出品者数
- 追加情報
- 商品の購入数と閲覧数
ユースケース
- 商品リンクの収集
- 商品の人気度の評価
- 価格動向と商品の人気の追跡
クエリ
クエリとしてキーワードまたはカテゴリへのリンクを指定する必要があります。例:
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 preset | default | Util::AntiGate プリセットの選択。設定の詳細は こちら |
| AntiGate preset for old captcha | default | AntiGate preset と同様ですが、通常の(古い、単一画像の形式の)キャプチャにのみ使用されます。ここでプリセットが選択されていない場合は、AntiGate preset で選択されたプリセットがこれらのキャプチャに使用されます。 |
| Auto-Solve ClickCaptcha | ☐ | クリックキャプチャの自動解決(外部サービス不使用) |
| Experimental img captcha max count | 1 | 1回の試行における画像キャプチャの最大再試行回数 |
| Pages count | 5 | スクレイピングするページ数 |
| Search region ID | Not set | スクレイピング対象の地域 |
