РазработкаЗащита оплатыПодробнее
- Доработки в рамках пакета бесплатны.
- Если вы не ответите в течение 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 артикул, название, цену, наличие, вес и ссылку на главное фото, чтобы раз в неделю сравнивать цены.
Клиент и все данные вымышлены.
Об услуге
Ведущие, которые переносят подкаст на новый сайт, редакторы описаний выпусков и исследователи получают список эпизодов в таблице: номер, сезон, название, дата, длительность, краткое описание, темы или теги, ссылка на страницу эпизода и ссылка на аудио, если страница её показывает. Парсер читает собственный открытый сайт подкаста или его открытую RSS-ленту, которая есть у большинства подкастов. Пришлите страницу со списком эпизодов, одну страницу эпизода и одну-две страницы, сохранённые из браузера. Вы получите код на Python, файл настроек и README и запустите его на своём компьютере. Он сохраняет ссылки, а не аудиофайлы, и не ведёт столбец с именами гостей. Парсер читает в спокойном темпе, не входит в аккаунты, не обходит капчи и защиту и не читает соцсети и приложения, где нужен аккаунт. Разрешают ли это правила сайта, решаете вы; после смены вёрстки нужна доработка.
Что входит
- Что вы получитеАрхив ZIP с кодом на Python, файлом настроек и README с пошаговой инструкцией; код также виден на странице заказа.
- Эпизоды по порядкуНомер, сезон и дата в отдельных столбцах
- Длительность в минутахЕсли её показывает страница или лента
- Ссылки на эпизод и аудиоТолько ссылки, без аудиофайлов
- Спокойный темпПауза между страницами, задаётся в настройках
- Работает на вашем компьютереWindows, macOS или Linux, с Python
Порядок работы
- 1ПодкастВы даёте список эпизодов или ленту и одну сохранённую страницу эпизода
- 2ПарсерМы пишем код и инструкцию по запуску
- 3ЗапускВы запускаете его и сверяете последние эпизоды с сайтом
- 4ПравкиВы просите правки в рамках пакета и присылаете текст ошибки, если она есть
Что нужно от вас
Сайт подкаста и ссылка на список эпизодов или адрес его открытой RSS-ленты, одна страница эпизода и примерно сколько всего эпизодов. Поля в порядке вашей таблицы, например номер, сезон, название, дата, длительность, описание, теги, ссылка на эпизод, ссылка на аудио. Одна-две такие страницы, сохранённые из браузера («Файл» > «Сохранить страницу как»), или скриншоты. CSV, Excel или JSON.
В брифе мы спросим:
- Какой подкаст?
- Нужные поля
- Сколько примерно эпизодов?
- Файл результатов
Сравнение пакетов
| Пакеты | ЭкономЭпизоды с одного списка21 $ | СтандартСписок и страницы эпизодов41 $ | БизнесДо 3 подкастов74 $ |
|---|---|---|---|
| Срок | 1 день | 2 дня | 3 дня |
| Доработки | 1 | 2 | 3 |
| Сайтов | 1 | 1 | до 3 |
| Типов страниц | 1 | 2 (список и страница эпизода) | до 3 |
| Полей | до 10 | до 25 | до 25 на каждом |
| Проход по страницам списка | Нет | Да | Да |
| Файл результатов | CSV | Excel или CSV | Excel, CSV или JSON |
| Без дублей, продолжение с места остановки | Нет | Нет | Да |
| Заказать Эконом | Заказать Стандарт | Заказать Бизнес |
Защита оплаты
Вы оплачиваете заказ сразу, но деньги переходят сервису только за принятую работу.
- Фиксированная ценаЦена пакета не меняется после оплаты.
- Деньги резервируютсяПри оплате сумма только резервируется. Сервису она переходит, когда вы примете работу.
- Проверка перед сдачейКаждый результат проходит проверку качества, прежде чем попасть к вам, и вы видите его на странице заказа до приёмки.
- Бесплатные доработкиПросите изменения в рамках брифа столько раз, сколько предусмотрено пакетом.
- Приёмка через 3 дняЕсли в течение 3 дней после сдачи вы не примете работу и не попросите изменений, она будет принята автоматически. Если после сдачи вы напишете в чат заказа, заказ подождёт; ответив, мы можем начать отсчёт 3 дней заново и сообщим об этом в чате.
- Переделка или полный возвратЕсли результат не соответствует брифу и доработки не помогли или срок превышен больше чем вдвое, напишите в чат заказа: мы переделаем работу или полностью вернём деньги.
Вопросы и ответы
Может ли он скачивать аудиофайлы?
Нет. Эпизоды принадлежат их авторам, поэтому парсер сохраняет ссылки на аудио, а не сами файлы.
Может ли он читать RSS-ленту вместо страниц?
Да, если лента открыта по публичному адресу. Она считается одним типом страниц и часто даёт даты и длительность аккуратнее, чем сайт.
Можно читать подкасты из приложений или соцсетей?
Нет. Приложения с аккаунтом, соцсети, Google, Amazon и LinkedIn исключены. Подойдёт собственный открытый сайт подкаста или лента, если вы решите, что их правила это разрешают.
Может ли он написать описания или расшифровки выпусков?
Нет. Он собирает то, что уже написано на страницах; он не слушает эпизоды и не пишет тексты. Если сайт потом поменяет вёрстку, парсер нужно доработать.
Не нашли ответ?


