Перейти к основному содержимому

Извлечение текста из WARC

Поиск по сырому HTML находит слова из меню, счётчиков и шаблона страницы. Для исследования и для указателя коллекции нужен основной текст: заголовок, абзацы, дата, если она размечена.

Здесь два пути. Оба начинаются с уже скачанного WARC и не ходят на исходный сайт.

metawarc, если коллекция всё равно индексируется​

Команды сверены со страницей metawarc:

metawarc index 'archives/**/*.warc*' --dbfile collection.db --resume
metawarc index-content --dbfile collection.db --text
metawarc search "открытые данные" --dbfile collection.db

Текст берётся из HTML, PDF и OOXML. Результатом пользуется поиск metawarc. Отдельные .txt по страницам эта команда не раскладывает: они лежат в сайдкарах каталога.

trafilatura по выгруженным HTML​

Сначала сохраните HTML-ответы так, как в статье «Поиск внутри WARC». Затем прогоните каталог trafilatura. У программы нет отдельного режима «прочитай WARC»: на вход она принимает файлы и каталоги HTML.

pip install trafilatura

trafilatura --input-dir html/ -o text/ --json --with-metadata

--json пишет заголовок, текст, дату и другие поля, которые программа смогла разобрать. --with-metadata добавляет их к тексту. Каталог text/ повторяет обработанные файлы; таблица html/index.tsv по-прежнему связывает имя файла с исходным URL.

Если в результат попадает слишком много обрывков навигации, повторите с --precision. Если пропадают куски статьи — с --recall. Оба флага описаны в справке trafilatura -h. Точную версию пакета фиксируйте в заметке к коллекции: набор эвристик меняется между выпусками.

Один файл:

trafilatura -i html/000001.html --json

Чего ждать от текста​

  • Страница-заглушка и страница с капчей дадут короткий или пустой текст. Это не сбой извлечения.
  • Таблицы, подписи к картам и комментарии могут пропасть. Для них оставляйте исходный HTML.
  • Кодировка берётся из файла, который вы сохранили. Скрипт выгрузки должен писать байты ответа как есть, без перекодирования «на глаз».
  • Юридическая оценка текста не меняется от того, что меню отрезано. Авторское право и персональные данные относятся к содержанию, см. правовой раздел.

Связанные материалы​