Каков наилучший способ извлечь содержимое таблицы из группы HTML-файлов?

StackOverflow https://stackoverflow.com/questions/68691

Вопрос

После очистки папки, полной HTML-файлов с помощью TIDY, как можно извлечь содержимое таблиц для дальнейшей обработки?

Это было полезно?

Решение

Зависит от того, какую обработку вы хотите выполнить.Вы можете попросить Tidy сгенерировать XHTML, который является типом XML, что означает, что вы можете использовать все обычные инструменты XML, такие как XSLT и XQuery, для обработки результатов.

Если вы хотите обработать их в Microsoft Excel, то у вас должна быть возможность вырезать таблицу из HTML-кода и поместить ее в файл, а затем открыть этот файл в Excel:он с радостью преобразует HTML-таблицу в электронную таблицу.Затем вы могли бы сохранить его в формате CSV или в виде рабочей книги Excel и т.д.(Вы даже можете использовать это на веб-сервере - возвращать HTML-таблицу, но устанавливать Content-Type заголовок к application/ms-vnd.excel:Excel откроет, импортирует таблицу и преобразует ее в электронную таблицу.)

Если вы хотите, чтобы CSV загружался в базу данных, вы могли бы использовать Excel, как и раньше, или, если вы хотите автоматизировать процесс, вы могли бы написать программу, которая использует API навигации по XML по вашему выбору для перебора строк таблицы и сохранения их в формате CSV.Модули Elementtree и CSV в Python сделали бы это довольно простым.

Другие советы

В прошлом я с большим успехом использовал BeautifulSoup для подобных целей.

Просмотрев предложения, я решил использовать HtmlUnit - модуль HtmlUnit.

С помощью HtmlUnit я смог настроить Java-код для открытия каждого HTML-файла в папке, перехода к тегу TABLE, запрашивать содержимое каждого столбца и извлекать данные, необходимые для создания CSV-файла.

В .NET вы могли бы использовать HtmlAgilityPack.

Видишь это предыдущий вопрос дополнительную информацию можно найти в StackOverflow.

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

http://jtidy.sourceforge.net/
http://htmlparser.sourceforge.net/

выполните итерацию по тексту и используйте регулярное выражение :)

http://www.knowledgehouse.sg

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top