Кому это · ·
Таблицы с сайта в Markdown: доезжают 12 из 15
Общие конвертеры HTML в Markdown ломаются на тех таблицах, ради которых всё и делается, – там, где в ячейке список, ссылка или кусок кода. Clean Web Clipper переносит таблицы с сайта в Markdown своим кодом и сводит такую ячейку в одну строку, не теряя строку таблицы. На корпусе из пятнадцати таблиц целыми доехали двенадцать против семи у каждого из сравниваемых движков.
Откуда эти цифры: страница замера с версиями движков и датами
Куда пропадает таблица по дороге?
Нужные на странице данные почти всегда лежат в таблице – и именно она приезжает хуже всего. Достаточно одной ячейки со списком, ссылкой или коротким куском кода, чтобы общий конвертер сошёл с рельсов: строка сворачивается, колонки съезжают на одну, и числа оказываются напротив чужих подписей. Хуже всего, что при перечитывании это видно не всегда.
Рядом с этим на страницах полно таблиц, которые таблицами не являются. Сетки нужны только затем, чтобы поставить блоки рядом, и инструмент, аккуратно их воспроизводящий, набивает заметку пустыми решётками. В итоге на удаление ложных таблиц уходит столько же времени, сколько на починку настоящих.
Третье теряется тише всего – то, что стоит вокруг таблицы. Единица измерения из шапки, период, к которому относится ряд, примечание «без учёта» или «оценка» под последней строкой. Числа доезжают, обвязка нет, и через месяц ряд нельзя сравнить ни с чем: непонятно, проценты это к предыдущему месяцу или к декабрю, и входит ли в итог та самая категория, из-за которой всё и считалось.



Что происходит с таблицей?
- Свой сериализатор таблиц GFM, а не универсальный плагин к конвертеру
- Двенадцать таблиц из пятнадцати на техническом корпусе против семи у каждого из сравниваемых движков
- Ячейка со списком, ссылкой или кодом аккуратно сплющивается, а не рвёт строку
- Кривые двухколоночные таблицы разворачиваются в строки
Ключ: значение, а не в сломанную сетку - Вёрсточные таблицы – сетки, которые только расставляют блоки, – разворачиваются, а не копируются
- Выделили одну таблицу – склипается она одна, вместе с фронтматтером
- Таблица без шапки её получает: первая строка повышается до заголовочной, иначе колонки в Markdown не разделяются
- Пустая сетка без единого слова текста удаляется целиком – распорок и решёток в заметке не остаётся
--- title: "Численность населения на 1 января" source: "https://rosstat.gov.ru/folder/12781" extraction: "dom" --- | Год | Численность, млн человек | Городское население, % | | --- | --- | --- | | 2022 | 145,6 | 74,8 | | 2023 | 146,4 | 75,0 | | 2024 | 146,2 | 75,1 |
Как перенести таблицу без потерь
Порядок ниже занимает полминуты и снимает главный риск переноса – тот, при котором колонки съехали на одну, а заметить это можно только сверив с оригиналом.
- В настройках, в разделе «Что попадает в заметку», переключите картинки в режим «пропускать». В статистических таблицах картинками бывают флажки, стрелки динамики и иконки сносок – в Markdown от них остаётся один шум между колонками.
- Оставьте «Клик по иконке» на «Открыть окно» и включите «Если на странице есть выделение – клипать выделение». Из страницы отчёта обычно нужна одна таблица, а не двадцать тысяч знаков сопроводительного текста вокруг неё.
- На странице выделите таблицу вместе с её шапкой и примечаниями под ней. Единица измерения, период и оговорка «без учёта» – это и есть то, без чего ряд через месяц не с чем сравнить.
- Нажмите иконку и переключитесь на вид «Markdown». В нём таблица видна построчно, вместе с разделителями: сразу понятно, сколько колонок получилось и не съехала ли строка с объединённой ячейкой.
- Сверьте глазами первую и последнюю строку с оригиналом. Если таблица догружает строки при прокрутке, долистайте её до конца и нажмите «Склипать заново» – берётся только то, что отрисовано в момент нажатия.
- Нажмите «Копировать» и вставьте таблицу в свою заметку – или сохраните файл рядом с остальной серией. Выгрузки в CSV, Excel или JSON расширение не делает: дальше таблица GFM конвертируется куда угодно, но этот шаг остаётся за вами.
Какие настройки подходят для работы с данными?
Значения ниже подобраны под одну задачу: чтобы колонки доехали и чтобы это было видно до сохранения, а не после вставки в отчёт.
| Настройка | Значение | Почему именно так |
|---|---|---|
| Клик по иконке | Открыть окно | съехавшую строку надо увидеть до сохранения – в готовой заметке она выглядит как обычная |
| Вид в окне клипа | Markdown | ряды и разделители видны построчно, и число колонок считается глазами за секунду |
| Если есть выделение – клипать выделение | включено | нужна таблица с шапкой и примечанием, а не вся страница отчёта |
| Картинки | пропускать | флажки, стрелки динамики и иконки сносок между колонками мешают читать ряд |
| Имя файла | {date} – {domain} – {title} | у рядов данных заголовки от выпуска к выпуску не меняются, различает их только дата |
| Сноски | выносить в конец заметки | примечание «оценка» или «без учёта» – это и есть та оговорка, из-за которой ряды нельзя складывать |
| Срезать навигацию | включено | на порталах статистики вокруг таблицы стоят фильтры и переключатели периодов – они не данные |
--- title: "Индекс потребительских цен: методологические пояснения" source: "https://rosstat.gov.ru/statistics/price" extraction: "dom" --- **Периодичность**: ежемесячно **Единица измерения**: процент к предыдущему месяцу **Дата последнего обновления**: 14.02.2025 Индекс рассчитывается по фиксированному набору товаров и услуг.
Пройти три сценария целиком
Три сценария показывают, как сериализатор таблиц ведёт себя на разных данных: один ряд из большого статистического отчёта, сравнение тарифов трёх сервисов и таблица, которая на деле оказалась вёрсткой. В каждом важен не факт наличия таблицы, а то, доехала ли она читаемой, с шапкой на месте и без съехавших колонок, готовой встать прямо в отчёт без дополнительной сверки с оригиналом.
Ряд из статистического отчёта
На портале ведомства нужна одна таблица из большого отчёта. Вы выделяете её вместе с шапкой и примечаниями и клипаете выделение: к выделенному не применяется ни срезка, ни разворачивание вёрсточных сеток – вы выбрали фрагмент сами.
В окне на виде «Markdown» видны ряды с разделителями, и число колонок совпадает с оригиналом. Файл ложится рядом с прошлыми выпусками того же ряда, а дата в имени отвечает на вопрос, какой это выпуск. Дальше таблица GFM без труда превращается в CSV – но этот шаг делаете вы, расширение выгрузок не строит.
Сравнение тарифов трёх сервисов
Вы собираете сравнение и обходите три страницы тарифов. Таблицы там обычно настоящие, с заголовочными ячейками, и чаще всего доезжают целыми – на техническом корпусе целыми доехали двенадцать таблиц из пятнадцати против семи у каждого из сравниваемых движков.
А вот сама страница тарифов иногда собрана из маркетинговых блоков без тела статьи – тогда расширение честно ответит, что статьи нет. Выход тот же: выделите таблицу и склипайте выделение, на него этот отказ не распространяется.
Таблица, которая оказалась вёрсткой
Страница выглядит как сетка данных, но на деле это раскладка: блоки расставлены таблицей, заголовочных ячеек нет, больше двух третей ячеек пустые. Воспроизводить такую сетку в Markdown значит производить шум.
Расширение её разворачивает: содержимое сохраняется, сетка – нет. Вложенная таблица считается раскладкой всегда, потому что таблица в таблице в GFM невыразима и уезжает в текст сырым HTML. Если содержимое всё-таки было данными, выделите нужный кусок и склипайте его отдельно – к выделению разворачивание не применяется.
Чем это отличается от привычных способов?
Таблицу со страницы забирают пятью способами. Один из них лучше нашего, и в таблице ниже он назван прямо – если сайт даёт выгрузку, берите выгрузку.
| Способ | Что получается | Чего стоит |
|---|---|---|
| Готовая выгрузка на сайте | данные ровно в том виде, в каком их считал источник | бывает не у всех и не для всех разрезов; если она есть, она лучше любого клипа |
| Выделить и вставить в таблицу | колонки часто встают сами | ячейка со списком или ссылкой рвёт строку, а числа с неразрывными пробелами приезжают текстом |
| Снимок экрана таблицы | видно ровно то, что на странице | числа не ищутся и не пересчитываются, а длинную таблицу приходится снимать частями |
| Перепечатать вручную | полный контроль над результатом | полчаса на тридцать строк и своя опечатка в разряде, которую заметят на презентации |
| Печать в PDF | сохраняются шапка и примечания | широкая таблица разъезжается по двум листам, и колонки приходится собирать глазами |
| Clean Web Clipper | таблица GFM с шапкой, примечаниями и адресом источника | ни CSV, ни Excel на выходе; объединённые ячейки сплющиваются, а недогруженные строки не появятся |
Что делать, если таблица приехала не такой?
Ниже – ответы на то, что чаще всего смущает в перенесённых таблицах: разворот в строки «Ключ: значение», исчезнувшая вёрсточная сетка, назначенная шапка и недогруженные строки. В каждом случае решение о форме принято по чётким признакам, а не наугад, и данные при этом не теряются, теряется только визуальная форма, которую в Markdown не выразить.
Почему таблица развернулась в строки «Ключ: значение»?
Потому что она была рваной таблицей метаданных: колонок не больше двух, строк не больше дюжины, и число ячеек по строкам не совпадает. Такие сетки в Markdown не ложатся вовсе и уезжают сырым HTML, поэтому они разворачиваются в строки вида Периодичность: ежемесячно. Содержимое при этом сохраняется целиком – теряется только форма, а не сами значения.
Почему таблица исчезла совсем?
Скорее всего, она была раскладкой, а не данными. Признаки такие: внутри лежит ещё одна таблица, заполнено меньше трети ячеек, или колонка всего одна. Такая сетка разворачивается, и её содержимое остаётся обычным текстом.
Отдельный случай – сетка вообще без текста и картинок: она удаляется целиком, потому что от распорок в заметке остаются только пустые решётки. Если содержимое было нужно, выделите его на странице и склипайте выделение.
Откуда взялась шапка, которой на странице не было?
Её пришлось назначить. Таблица GFM без заголовочной строки не существует: без неё разделитель не поставить, а без разделителя колонок нет. Поэтому у таблицы без единой заголовочной ячейки первая строка повышается до шапки. Если это были данные, верните строку обратно руками – файл ваш, и это займёт секунду в любом текстовом редакторе.
Почему в таблице не все строки?
Потому что берётся то, что отрисовано в момент клипа. Таблицы, догружающие строки при прокрутке или по кнопке «показать ещё», в разметке до этого просто отсутствуют. Долистайте до конца, раскройте всё и нажмите «Склипать заново». Заметить недостачу по готовому файлу почти невозможно, поэтому проверять стоит до сохранения, а не после публикации отчёта.
Чего Clean Web Clipper не делает с таблицами?
Clean Web Clipper не выгружает ни CSV, ни Excel, ни JSON: на выходе таблица Markdown, конвертировать её дальше придётся вам. Объединённые ячейки сплющиваются, потому что в Markdown их выразить нечем. Он не читает таблицу, нарисованную картинкой или на canvas, и не листает интерактивную таблицу за вас: что не выведено на экран, то не склипано. Глубоко вложенные вёрсточные сетки остаются трудными для всех инструментов, включая этот.
Как таблица проходит через извлечение, описано на странице об устройстве извлечения.
Что таблица сохраняет, а что теряет?
Что происходит с таблицей, которая нужна только для вёрстки? Таблица для вёрстки разворачивается. Воспроизводить сетку позиционирования таблицей Markdown значит производить шум: содержимое сохраняется, сетка – нет.
Обрабатываются ли объединённые ячейки?
Можно ли склипать только таблицу?
Можно ли получить CSV?
А таблица, которая догружает строки при прокрутке?
Где извлечение таблиц останавливается?
Как он отличает данные от вёрстки? По форме, а не по сайту. Заголовочные ячейки – признак данных. Вложенная таблица, единственная колонка или заполненная меньше чем на треть сетка – признаки раскладки. Порог намеренно низкий: в справочных таблицах пустых ячеек бывает много, и терять их не хочется.