РазработкаЗащита оплатыПодробнее
- Доработки в рамках пакета бесплатны.
- Если вы не ответите в течение 3 дней после сдачи, работа будет принята автоматически.
При оплате деньги резервируются и переходят сервису, только когда вы примете работу.

Пример результата
Парсер каталога поставщика садового инструмента в Excel
Как выглядит результат
| Артикул | Название | Цена | В наличии | Вес | Фото |
|---|---|---|---|---|---|
| GT-1042 | Секатор, 20 мм | 18,90 | Да | 0,24 кг | …/gt-1042.jpg |
| GT-1187 | Складная пила, 210 мм | 24,50 | Да | 0,31 кг | …/gt-1187.jpg |
| GT-2210 | Ножницы для кустов, волнистое лезвие | 39,00 | Нет | 1,10 кг | …/gt-2210.jpg |
| GT-3305 | Совок, нержавеющая сталь | 9,80 | Да | 0,18 кг | …/gt-3305.jpg |
| GT-4120 | Садовый шланг 25 м, 1/2" | 42,00 | Да | 2,90 кг | …/gt-4120.jpg |
В файле из примера 1236 товаров с 52 страниц списка.
Фрагмент кода
def product_links(list_url: str) -> Iterator[str]:
"""Ссылки на карточки со всех страниц списка, по кнопке «Дальше»."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Одна открытая страница, без спешки: пауза между запросами и несколько попыток при ошибке."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s ответил %s, попытка %d из 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} не открылся за 3 попытки")
Файлы: ZIP-архив с scraper.py, settings.ini (стартовая страница, пауза между запросами, имя файла), requirements.txt и README: как установить и запустить. Парсер читает только открытые страницы, одну раз в 2 секунды, и сначала проверяет robots.txt сайта. Клиент запускает его на своём компьютере.
Клиент: интернет-магазин товаров для сада, который перепродаёт инструмент поставщика. У поставщика открытый каталог на сайте, но нет прайс-листа файлом. Задача: пройти по страницам списка, открыть каждую карточку товара и сохранить в Excel артикул, название, цену, наличие, вес и ссылку на главное фото, чтобы раз в неделю сравнивать цены.
Клиент и все данные вымышлены.
Об услуге
Парсер ставит рядом цены на одни и те же товары из трёх открытых интернет-магазинов: строка на товар, в ней цена, старая цена, наличие и ссылка по каждому магазину и дата проверки. Три магазина входят в Premium; Basic и Standard читают один магазин, для начала или проверки. Товары сопоставляются по коду, который показывают магазины, например штрихкоду или артикулу производителя, или по ссылкам, которые вы даёте для каждого товара: одни названия слишком разные для надёжной сверки. Пришлите сайты, по сохранённой из браузера карточке товара с каждого и свой список товаров. Вы получите код на Python, файл настроек и README и запустите его на своём компьютере. Парсер читает открытые страницы в спокойном темпе, не входит в аккаунты, не обходит капчи и защиту и не читает Amazon и Google. Разрешают ли это правила магазинов, решаете вы; после смены вёрстки нужна доработка.
Что входит
- Что вы получитеАрхив ZIP с кодом на Python, файлом настроек и README с пошаговой инструкцией; код также виден на странице заказа.
- Строка на товарЦена, наличие и ссылка каждого магазина рядом
- Сверка по коду или ссылкамШтрихкод, артикул производителя или ваши ссылки
- Дата проверкиВ каждой строке, чтобы сравнивать запуски
- Спокойный темпПауза между страницами, задаётся в настройках
- Работает на вашем компьютереWindows, macOS или Linux, с Python
Порядок работы
- 1МагазиныВы даёте магазины, сохранённые карточки и свой список товаров
- 2ПарсерМы пишем код и инструкцию по запуску
- 3ЗапускВы запускаете его и сверяете несколько строк в каждом магазине
- 4ПравкиВы просите правки в рамках пакета и присылаете текст ошибки, если она есть
Что нужно от вас
Три магазина (или один для Basic и Standard) и по карточке товара с каждого, сохранённой из браузера («Файл» > «Сохранить страницу как»). Ваш список товаров с кодом, который показывают магазины, например штрихкодом, или таблица со ссылкой на каждый товар в каждом магазине. Нужные поля по каждому магазину, например цена, старая цена, наличие, ссылка. Примерно сколько товаров. CSV, Excel или JSON.
В брифе мы спросим:
- Какие магазины?
- Как сопоставлять товары
- Поля по каждому магазину
- Сколько примерно товаров?
Сравнение пакетов
| Пакеты | ЭкономОдин магазин для начала21 $ | СтандартОдин магазин, вся категория42 $ | Бизнес3 магазина в одной таблице76 $ |
|---|---|---|---|
| Срок | 1 день | 2 дня | 3 дня |
| Доработки | 1 | 2 | 3 |
| Сайтов | 1 | 1 | до 3 |
| Типов страниц | 1 | 2 (категория и карточка товара) | до 3 |
| Полей | до 10 | до 25 | до 25 на каждом |
| Проход по страницам списка | Нет | Да | Да |
| Файл результатов | CSV | Excel или CSV | Excel, CSV или JSON |
| Без дублей, продолжение с места остановки | Нет | Нет | Да |
| Заказать Эконом | Заказать Стандарт | Заказать Бизнес |
Защита оплаты
Вы оплачиваете заказ сразу, но деньги переходят сервису только за принятую работу.
- Фиксированная ценаЦена пакета не меняется после оплаты.
- Деньги резервируютсяПри оплате сумма только резервируется. Сервису она переходит, когда вы примете работу.
- Проверка перед сдачейКаждый результат проходит проверку качества, прежде чем попасть к вам, и вы видите его на странице заказа до приёмки.
- Бесплатные доработкиПросите изменения в рамках брифа столько раз, сколько предусмотрено пакетом.
- Приёмка через 3 дняЕсли в течение 3 дней после сдачи вы не примете работу и не попросите изменений, она будет принята автоматически. Если после сдачи вы напишете в чат заказа, заказ подождёт; ответив, мы можем начать отсчёт 3 дней заново и сообщим об этом в чате.
- Переделка или полный возвратЕсли результат не соответствует брифу и доработки не помогли или срок превышен больше чем вдвое, напишите в чат заказа: мы переделаем работу или полностью вернём деньги.
Вопросы и ответы
Почему 3 магазина сравнивает только Premium?
У каждого магазина свои страницы, и для каждого нужна своя часть кода. Basic и Standard рассчитаны на один магазин, это удобный способ сначала попробовать.
Что, если магазин не показывает штрихкод?
Тогда дайте нам таблицу со ссылкой на каждый товар в каждом магазине. Угадывать соответствие по названиям мы не будем.
Можно включить Amazon, Google Shopping или магазины в соцсетях?
Нет. Amazon, Google, LinkedIn и соцсети исключены: их правила это запрещают. Разрешают ли это другие магазины, решаете вы по их правилам.
Может ли он сравнить ещё и доставку?
Только если карточка товара показывает её любому посетителю. Он не кладёт товар в корзину, не вводит адрес и не входит в аккаунты.
Не нашли ответ?


