Сборщик
Скрапер Shopify Storefronts
Все товары, которые публикует магазин на Shopify: название, цена, цена до скидки, остаток, артикул, поставщик, тип, теги и изображения, по строке на товар, — прямо из каталожного файла самой витрины, без аккаунта и без браузера.
Содержание
Что он собирает
Все товары, которые публикует магазин на Shopify: название, цена, цена до скидки, остаток, артикул, поставщик, тип, теги и изображения, по строке на товар, — прямо из каталожного файла самой витрины, без аккаунта и без браузера. Это скрапер, а значит весь договор такой: заполните форму — и вернётся одна таблица. Окно браузера не открывается, слоты автоматизаций вашего тарифа не тратятся, а запросы уходят по обычному HTTP с TLS-отпечатком настоящего браузера.
Он прекрасно работает и с вашего собственного адреса: прокси можно выбрать при запуске, но этому источнику он не нужен. Как бы ни ушёл запрос, каждая строка это фиксирует — см. служебные колонки ниже.
Что вы даёте — 7
Форма, которую рисует приложение, прочитанная из самой карточки. Каждая подсказка ниже — та же, что стоит рядом с этим полем в диалоге запуска, так что здесь нет описания продукта, написанного отдельно от него.
Один ответ, без которого запуск не начнётся
- startUrls
- Stores · list · обязательное
One store per line — the domain, the homepage, or any product or collection link from it. A 404 means that host does not serve this file: either it is not a Shopify store, or it is one that has switched the catalogue off. The collector is fine either way and the other stores keep going.
Всё остальное — по желанию
- maxProductsPerStore
- Products per store · number
- keywords
- Title contains · list
- productTypes
- Product type · list
- vendors
- Vendor · list
- minPrice
- Minimum price · number
- onlyAvailable
- In stock only · boolean
Rounded up to whole pages of 250. There is no early stop — a shop with forty products still costs the page count asked for, so raise this for a big catalogue rather than leaving it high for everything.
Keeps a product only when its title contains one of these. Costs no extra requests — the reply already carried the title.
Matched against the shop’s own type, exactly as it writes it.
Useful on a reseller, where one storefront carries many brands.
In the store’s own currency, which this endpoint does not name. A product with no price fails this rather than counting as zero.
Drops products whose first variant is sold out.
Что вернётся — колонок: 22
Один датасет на запуск — типизированная таблица, которая принадлежит вашему рабочему пространству: её можно сортировать, фильтровать, править прямо в сетке, выгружать целиком или читать через локальный API. Вот колонки, с которыми она создаётся.
Колонок, помеченных как может быть пустой: 3. Это факт о самой записи, а не о сборщике — пост без отметки места, аккаунт без категории бизнеса, — и об этом сказано вслух, чтобы пустая ячейка не читалась как сломанный скрапер. Колонку, которой в ответе не бывает вовсе, удаляют на стороне каталога, а не поставляют пустой, так что здесь нет ничего декоративного.
Из Shopify Storefronts — колонок: 18
| Ключ | Колонка | Тип |
|---|---|---|
| title | Product | text |
| productUrl | Product page | url |
| vendor | Brand | text |
| productType | Typeможет быть пустой | text |
| price | Price | number |
| compareAtPrice | Compare-at priceможет быть пустой | number |
| available | In stock | select |
| sku | SKU | text |
| variantCount | Variants | number |
| tags | Tagsможет быть пустой | text |
| imageUrl | Image | url |
| imageCount | Images | number |
| handle | Handle | text |
| publishedAt | Published | datetime |
| createdAt | Created | datetime |
| updatedAt | Updated | datetime |
| productId | Product ID | text |
| searchTerm | Store | text |
Пишет каждый скрапер — колонок: 4
Одни и те же четыре на каждой карточке, чтобы таблица и через несколько месяцев могла ответить, откуда взялись её строки: из какого сервиса, когда, с личностью какого профиля уходили запросы и был ли выполнен вход.
| Ключ | Колонка | Тип |
|---|---|---|
| platform | Platform | text |
| collected_at | Collected at | datetime |
| profile | Collected by | profile |
| logged_in | Signed in | select |
Четыре способа запустить
Вкладка «Скраперы». Выберите карточку, заполните форму, нажмите «Старт». Каждый запуск отсюда создаёт новую таблицу, названную по тому, что вы искали, и по времени запуска. Хотите — сначала проверьте: скрапер соберёт одну страницу, ничего не запишет и покажет, какие колонки вернулись заполненными.
Попросите ассистента. У него есть весь каталог, поэтому эта карточка — фраза, а не форма. Он заполнит параметры выше из того, что вы сказали, и покажет их вам до запуска.
Через MCP или локальный API. Та же карточка, но из кодового агента: argus_run_scraper на MCP-сервере или POST http://127.0.0.1:39219/v1/scrapers/run в локальном API. Рядом лежит пример вызова, который ничего не записывает.
{
"kind": "shopify_products",
"inputs": {
"startUrls": [
"…"
]
}
}Шагом внутри сценария. Шаг Run scraper ставит этот сборщик в середину автоматизации — собрать, отфильтровать, разослать — и дерево всё так же не открывает при этом ни одного окна. Это ещё и единственный вызывающий, который может отменить правило «таблица на запуск»: если указать ему таблицу по имени, он создаст её с колонками выше, когда её нет, и дальше будет складывать туда каждый запуск — дописывая строки или обновляя их на месте по колонке, которую вы выбрали для сопоставления. Следующему шагу он передаёт имя таблицы, её идентификатор и число строк.
Где он останавливается
Управлять страницей он не станет. Всё, чему нужен настоящий браузер — сайт без списочной точки под капотом или любая работа с вашим собственным аккаунтом, — это автоматизация, и это другой инструмент, а не худшая версия этого.
Он никуда не входит. Чтение публичной страницы без входа — устоявшаяся позиция: Bright Data собирала данные Meta без входа и выиграла, hiQ собирала LinkedIn со входом и проиграла. Поэтому эта карточка не просит аккаунта и не держит его.