@hizhuns
Системный администратор

Обединить несколько html в один файл. как?

Подскажите как реализовать?
Есть несколько файлов html с полной разметкой
<html>
<head>
<title>new page</title>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body><table><tr><td><div>контент</div></td></tr></table>


таких файлов много, контента внутри них тоже не мало
хочется из всех файлов взять контент и с объединением таблиц поместить в один общий
по сути это обработчик логов, парсер, но ранее никогда таким не занимался.

надеюсь понятно объяснил что требуется, если кто-то реализовывал такое, прошу подсказать как

p.s. результатом объединения может быть любой файл (xlsx, html, php, pdf и т.д.) совершенно не важно
  • Вопрос задан
  • 5641 просмотр
Пригласить эксперта
Ответы на вопрос 2
@M-ka
frontend присматривающийся к ror
Вы не в том разделе написали данный вопрос.
Если такое и делать, а с описанного выходит, что файлы хранятся у вас, а не грузятся в браузере, то только в скрипте каком то, который может отрабатывать на клиенте (речь идет не о браузере).
Скрипт у себя на компе натравливать на папку с контентом ну или скормить архив.
В процессе обхода всех файлов(может даже и заданного формата) с папки/папок/архивов, вытаскивать контент с body и экспортировать в нужном формате в нужный файл или на нужный скрипт.

Можно попробовать на баш скрипт набросать, вот только не помню в синтаксисе, что в отношении поиска контента по файлах, есть ли такое. Так же можно пытаться писать скрипт на руби, пхп или еще каком то языке программирования. Хотя допустим если пропустить через ноджс, то можно и на яваскрипте написать.

Хотя допустим, если файлы не хранятся у пользователя, а есть набор ссылок, то тогда можно уже рассматривать написание чисто на яваскрипте (при условии, что можно куда то запостить результат). Сделать массив ссылок, обходя которые по очереди открывать новое окно, вытаскивать с него контент, сохранять в объекте, а потом это все куда то отправить... Замечу, что именно отправить, т.к. яваскрипт не способен по ограничениям безопасности работать с файлами у пользователя. Он может только в локальные хранилища, что то пытаться сохранять и то только в фф/хроме. Хотя ИЕ раньше имел уязвимость(презентованную как фишку браузера), позволяющую создать у пользователя файл, открыть файл, создать к нему поток данных, записать поток в файле, закрыть файл но в были выпущены фиксы, которые прекращали возможность создания потоков данных к файлам и последующую запись.

А вообще изначально для таких целей (когда мне надо было вытаскивать чать контента с разных сайтов периодично), написал в хром расширение, которое научил работать с множеством ссылок и обновлять инфу. Но как только большая часть функционала была накидана и работала (оставалось только добавить запуск по таймеру или открытию определенной вкладки, а не только по кнопке, ну а так же правила выборки для других ресурсов), как похожую штуку написали на пхп да и заняло меньше кода оно, чем на жс расширением, поставлено в крон и жило своей жизнью до поры до времени...
Ответ написан
zo0m
@zo0m
full stack developer
С такой задачей не сталкивался, но как бы делал я.

Написал бы под это дело простенький парсер на каком-нибудь любимом языке: Java/JS (выше вам пример на Node.js дали), и дергал бы его cron-ом или каким-нибудь другим планировщиком.

Парсер бы ходил по папке, парсил все что между тегов body / head и приклеивал в конец результирующего файла.

Более извращенный вариант:
Если ваши данные хранятся в каком-нибудь определенном формате или форматах, и можно файлики распарсить в какую-нибудь структуру, и потом уже в конце рисовать по этой структуре красивый вывод (это ИМХО самый классный кейс).
Даже можно даже sqlite под это дело прикрутить, пусть перед выводом все туда складывает, а потом обрабатывает и статистику собирать можно, типа сколько Exception вывалилось или еще какой-нибудь фигни и графики фигачить, и фильтры разные. Но это уже от объемов логов конечно зависит :) и вашего интереса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы