Clean Clipper Установить – бесплатно

Как устроено

Как это работает и где останавливается

Ничего волшебного здесь нет, и ни одного обращения к серверу тоже. Весь конвейер отрабатывает на той странице, которую вы смотрите, за несколько десятков миллисекунд.

Поиск статьи

Сначала расширение ищет привычные контейнеры, в которых обычно лежит статья. Если такого контейнера нет – а на множестве настоящих сайтов его нет, – в ход идёт замер плотности текста: в каком блоке больше всего абзацев, не спрятанных внутрь ссылок. Побеждает самый узкий блок, в котором всё ещё лежит почти весь этот текст.

Блок, где текст состоит в основном из подписей к ссылкам, – это меню или лента, а не статья, и он отбрасывается. Исключение – если в нём больше примерно 1200 символов настоящего текста: длинные статьи законно содержат много ссылок.

Срез обвязки

Дальше уходят известные не-содержательные элементы: навигация, баннеры, панели «поделиться», плашки про куки, пагинаторы, ленты «читайте также» и полосы логотипов. Повторяющиеся строки удаляются: навигация, продублированная в каждой секции, – главный источник шума в склипанной странице.

что оставляют другие

[К содержанию](#main) [Войти](/login) [Регистрация](/register)
[Главная](/) [Новости](/news) [Спорт](/sport) [Культура](/culture) [Ещё](/more)

Мы используем куки и похожие технологии, чтобы улучшить ваш опыт.
[Принять все] [Настроить]

# Статья, за которой вы пришли

Настоящий первый абзац текста.

<div class="promo-inline">

## Читайте также
[Другой заголовок](/a) [Ещё один заголовок](/b) [И третий](/c)

что попадает в заметку

# Статья, за которой вы пришли

Настоящий первый абзац текста.

Конвертация

Таблицы расширение сериализует само, а не общим плагином: универсальные конвертеры ломаются на ячейке со списком или блоком кода. Заборы кода берут язык из разметки самой страницы. Ссылки-примечания собираются в сноски Markdown до того, как санитайзер срежет идентификаторы, на которые они опираются, – порядок здесь важен, и ошибка в нём молча теряет все сноски.

Где останавливается

На витрине, в ленте или в результатах поиска статьи нет. Расширение проверяет готовый Markdown: если больше четверти его сидит внутри подписей к ссылкам, оно отвечает «статьи нет», а не выдаёт триста ссылок. Этот отказ сделан намеренно, и из-за него счётчики символов здесь ниже, чем у инструментов, которые всегда что-то возвращают.

Чего оно не делает

Вопросы

Сколько занимает один клип?
Десятки миллисекунд на обычной статье; очень длинная страница с сотнями сносок – несколько сотен. Время показано в углу окна клипа.
Работает ли на одностраничных приложениях?
Да. DOM читается после отрисовки, поэтому документация, собранная на JavaScript, снимается такой, какой вы её видите.
Что такое режим извлечения jsonld-articlebody?
Некоторые страницы отдают текст статьи в структурированных данных, но так и не дорисовывают его. Если в структурированных данных текста заметно больше, чем в DOM, расширение берёт его оттуда и записывает, что так и сделало.