Замер · · ·
Сравнение Defuddle и Readability с Clean Web Clipper
Сравнение Defuddle и Readability (Mozilla) с MarkSnip и Clean Web Clipper прошло 30 августа 2026 на общих 109 страницах, ещё 403 страницы 31 августа прошли только через наше ядро. На всех 512 у ядра ни одного падения и остатка HTML. Корпус и скрипты опубликуем со следующим прогоном, а пока здесь – полная запись того, что запускалось и что вышло.
Как сравнивали четыре движка на одних и тех же 109 страницах?
Корпус – сотня самых посещаемых сайтов мира и сотня самых посещаемых в России. Домены без содержания – мессенджеры, банки, стриминг, госпорталы – исключены заранее. Страницы снимались настоящим браузером: с каждой главной, где такая ссылка была, открывался материал.
По тем же 109 снятым страницам прошли четыре движка: Defuddle 0.19.3 (ядро официального Obsidian Web Clipper, по его package.json) с Turndown 7.2.4, Mozilla Readability 0.6.0 (ядро MarkDownload, по его manifest.json; оба источника проверены 15 сентября 2026, ссылки – в разделе «Источники») с тем же Turndown, MarkSnip 5.2.0 – его настоящий рабочий код, распакованный из сборки для Chrome Web Store, – и Clean Web Clipper 0.1.0.
| Показатель | Defuddle 0.19.3 | Mozilla Readability 0.6.0 | MarkSnip 5.2.0 | Clean Web Clipper 0.1.0 |
|---|---|---|---|---|
| Страниц | 109 | 107 | 107 | 109 |
| Падений | 0 | 2 | 2 | 0 |
| Остатков HTML | 532 | 718 | 2 | 0 |
| Повторов строк меню | 491 | 282 | 478 | 102 |
| Доля коротких строк | 0.278 | 0.262 | 0.263 | 0.221 |
| Найдено авторов | 23 | 27 | 28 | 28 |
| Найдено дат публикации | 28 | 13 | 13 | 24 |
| Извлечено таблиц (из 56) | 3 | 8 | 11 | 5 |
| Доля полезного текста | 0.878 | 0.931 | 0.934 | 0.890 |
Где Clean Web Clipper отстаёт?
- Таблицы: 5 против 11 у MarkSnip. 41 из 56 исходных таблиц сидит на одной странице и служит вёрсткой, а не содержанием, – извлекать их не должен никто; настоящий разрыв – несколько страниц, где наш выбор корня берёт слишком узкий блок.
- Доля полезного текста: 0.890 против 0.934. Отчасти намеренно – он отказывается от лент, которые другие движки отдают, – отчасти из-за того же слишком узкого корня.
- Даты публикации: 24 против 28 у Defuddle.
- Авторы: вровень с лучшим, 28 против 28 у MarkSnip, после переделки извлечения автора. При первом подсчёте на этом корпусе было 20.



Как ядро справилось с 403 страницами на двенадцати европейских языках?
Топ-50 сайтов в каждой из двенадцати стран, снятые браузером, переведённым на язык этой страны, – иначе половина отдаёт английскую версию и меряется что-то другое.
152 из 403 страниц получили ответ «статьи нет»: витрины магазинов, главные порталов и ленты, где извлекать нечего. Такой ответ сделан намеренно, поэтому эти страницы считаются проверенными, а не склипанными. Отказ на нужной статье – ошибка: как прислать адрес такой страницы.
| Язык | Страниц | Падений | Остатков HTML | Доля ссылок |
|---|---|---|---|---|
| Немецкий | 40 | 0 | 0 | 0.058 |
| Французский | 39 | 0 | 0 | 0.050 |
| Испанский | 40 | 0 | 0 | 0.060 |
| Итальянский | 40 | 0 | 0 | 0.036 |
| Польский | 30 | 0 | 0 | 0.064 |
| Португальский | 36 | 0 | 0 | 0.060 |
| Нидерландский | 37 | 0 | 0 | 0.049 |
| Турецкий | 31 | 0 | 0 | 0.042 |
| Украинский | 13 | 0 | 0 | 0.054 |
| Чешский | 28 | 0 | 0 | 0.039 |
| Шведский | 28 | 0 | 0 | 0.036 |
| Румынский | 41 | 0 | 0 | 0.039 |
Откуда 4 мин 38 с на одну страницу?
Счётчик на lessroutinemorelife.com засчитывает 4 мин 38 с за каждую страницу, с которой вы что-то сделали, – скопировали, сохранили, распечатали или отправили в AI-чат, – один раз за сутки. Открыть окно – не экономия, это не засчитывается. Это время владелец замерил вручную на более чем 1 000 разных содержательных страниц: скопировать текст, вставить, вычистить, добавить заголовок и источник, затем проверить, не осталось ли HTML-разметки. Посчитаны и среднее, и медиана.
То есть счётчик – это число таких страниц, умноженное на это время, а не сумма замеров по каждой. Сколько заняла бы именно ваша страница, он не меряет.
Что означают цифры?
- Падения – движок выбросил ошибку на странице и ничего не вернул. Прогон без падений всё ещё может быть полон меню – это меряют остальные строки.
- Остатки HTML – сколько сырой разметки дожило до Markdown. Всё, что больше нуля, – дефект.
- Повторы строк меню – строки длиннее двенадцати символов, встречающиеся больше одного раза. Это навигация, продублированная в каждой секции.
- Доля коротких строк – доля строк короче двадцати пяти символов. Высокая означает списки ссылок вместо прозы.
- Доля ссылок – доля символов, сидящих внутри подписей к ссылкам. Высокая означает, что вместе с текстом приехало меню.
- «Статьи нет» – на странице не нашлось тела статьи, и расширение так и сказало, вместо того чтобы вернуть ссылки. Это не падение и не клип; как принимается это решение, – на странице «Как устроено извлечение».
Где границы этого замера?
- Украинская выборка – 13 страниц, а не 40: остальной корпус не ответил с точки съёмки. Строку стоит читать как ориентир, не более.
- Турецкий и чешский топ-50 смещены в магазины и расписания, а там даты публикации нет вовсе – её нет и в их JSON-LD. Это свойство корпуса, а не извлечения.
- Конкурирующие движки прогонялись только по первому корпусу. Европейский прогон меряет один Clean Web Clipper.
- Страницы, где все движки вернули меньше 500 символов, исключены: это капча или блокировка, а не качество извлечения.
- Оба прогона – снимки живых сайтов конца августа 2026. Те же скрипты позже дадут немного другие цифры: сайты меняются.
Что измерит следующий прогон?
Следующий прогон замера Clean Web Clipper объявлен здесь заранее, чтобы результат нельзя было задним числом подогнать под вывод. Он пройдёт после публикации карточки расширения в Интернет-магазине Chrome, а его результат будет опубликован при любом исходе, в том числе если он окажется хуже этого.
- Тот же корпус: 109 страниц для сравнения движков и 403 страницы для проверки только нашего ядра.
- Те же метрики, объявленные заранее: падения, остатки HTML, повторы строк меню, доля коротких строк и найденные авторы – строки таблицы выше.
- Те же движки: Defuddle, Mozilla Readability и MarkSnip – каждый в версии на дату прогона, версии указываются рядом с результатом.
- Любой исход: цифры встают на эту страницу, лучше они или хуже, рядом с цифрами этого прогона.
Как повторить замер?
Первый прогон снят и посчитан 30 августа 2026 года, второй – 31 августа; окружение – Node 24, jsdom 29.1.1 и Playwright 1.62.1 с Chromium. Версии: Defuddle 0.19.3, Mozilla Readability 0.6.0, MarkSnip 5.2.0, Turndown 7.2.4 с turndown-plugin-gfm 1.0.2, Clean Web Clipper 0.1.0. Первый прогон – три скрипта по порядку: capture-top.mjs, run-engines.mjs, score-top.mjs; второй – capture-eu.mjs, затем score-eu.mjs. Скрипты пока не опубликованы: они выйдут отдельным репозиторием со следующим прогоном, без снятых чужих страниц.
Сводные результаты уже доступны файлом benchmark.json.
Источники
Каждый движок из сравнения проверяется по первоисточнику. Defuddle 0.19.3 лежит на github.com/kepano/defuddle, а официальный Obsidian Web Clipper указывает его зависимостью в своём package.json. Mozilla Readability 0.6.0 лежит на github.com/mozilla/readability, а MarkDownload подключает его файлом Readability.js в своём manifest.json; обе ссылки проверены 15 сентября 2026. В Markdown оба переводились через Turndown 7.2.4. MarkSnip 5.2.0 запускался своим настоящим кодом, распакованным из сборки в Chrome Web Store, с заглушками вместо API браузера. Корпус первого прогона – топ-100 мира по Similarweb (май 2026) и топ-100 Рунета по Similarweb, Semrush и Mediascope (2026); второго – топ-50 сайтов каждой из двенадцати европейских стран по трафику Similarweb (2026).