К содержимому

Документация

Python SDK: TextTools: текст, цены и числа

ctx.text() очищает уже полученные значения локально. Эти методы не делают сетевых запросов.

Примеры являются фрагментами тела def run(ctx):. Все методы SDK синхронны, await не нужен.

Методы

clean

ctx.text().clean(value) -> str

Аргумент Тип Обязателен Назначение
value Any Да Значение по назначению метода; см. описание результата.

Результат: str.

Убрать HTML-теги, повторяющиеся пробелы и пробелы по краям.

result = ctx.text().clean('<b>Product</b>')

money

ctx.text().money(value) -> float | None

Аргумент Тип Обязателен Назначение
value Any Да Значение по назначению метода; см. описание результата.

Результат: float | None.

Превратить строку с ценой в число, учитывая пробелы, запятую и символ валюты.

result = ctx.text().money('1 250,50 RUB')

digits

ctx.text().digits(value) -> str

Аргумент Тип Обязателен Назначение
value Any Да Значение по назначению метода; см. описание результата.

Результат: str.

Оставить только цифры.

result = ctx.text().digits('SKU 123')

between

ctx.text().between(subject, start, end) -> str | None

Аргумент Тип Обязателен Назначение
subject str Да Строка, в которой выполняется поиск.
start int | str Да Начальная граница: число страницы либо начало искомого фрагмента.
end int | str Да Конечная граница: включительный номер страницы либо конец фрагмента.

Результат: str | None.

Взять текст между первым вхождением start и последующим end.

result = ctx.text().between('Price 1250 RUB', 'Price ', ' RUB')

extract

ctx.text().extract(expression, subject, group=1) -> str | None

Аргумент Тип Обязателен Назначение
expression str Да Регулярное выражение Python.
subject str Да Строка, в которой выполняется поиск.
group int Нет, default в сигнатуре Номер группы регулярного выражения.

Результат: str | None.

Взять одну группу первого совпадения регулярного выражения.

result = ctx.text().extract(r'(\d+)', 'Price 1250', 1)

Ошибки и контекст выполнения

Все вызовы синхронны. Неверный аргумент или формат данных может вызвать ValueError/TypeError; отказ платформы или недоступность сервиса вызывает RuntimeError. Отсутствие элемента/значения даёт None либо пустой список только там, где это явно описано. Не превращайте любое исключение в пустой успешный результат. Методы внешних сервисов недоступны в преобразовании выгрузки; см. ограничения преобразований и среду.