Как извлечь таблицы из веб-страницы

Извлечение HTML-таблиц из веб-страниц – распространенная задача при веб-скреппинге, анализе данных и обработке контента. Используя Aspose.HTML for Python via .NET , разработчики могут легко автоматизировать процесс поиска, выделения и сохранения элементов <table> с любого HTML документа. Это мощное решение для программного извлечения таблиц идеально подходит для тех, кому необходимо работать со структурированными данными из статей, отчетов или любых других веб-страниц.


Извлечение таблиц с помощью Python

Следующий код Python демонстрирует, как загрузить HTML-документ с веб-сайта, определить в нем все табличные элементы и экспортировать каждую таблицу в отдельные, самостоятельные HTML-файлы для последующего использования:


Python-код для загрузки таблиц с веб-страницы

import os
import aspose.html as ah

# Define output directory
output_dir = "output/"
os.makedirs(output_dir, exist_ok=True)

# Open an HTML document from which you want to extract tables
with ah.HTMLDocument("https://docs.aspose.com/html/net/edit-html-document/") as doc:
    # Get all <table> elements
    tables = doc.get_elements_by_tag_name("table")

    if tables.length > 0:
        for i, table in enumerate(tables):
            # Construct output file path
            file_name = f"table{i}.htm"
            file_path = os.path.join(output_dir, file_name)

            # Create a new HTML document from the table's outer HTML
            new_doc = ah.HTMLDocument(table.outer_html, file_path)

            # Save the new document
            new_doc.save(file_path)
    else:
        # Handle case where no tables are found
        print("No tables found in the document.")


Шаги по извлечению таблиц с веб-страницы

  1. Используйте конструктор HTMLDocument(url) , чтобы открыть HTML-документ по указанному URL. Этот документ является источником, из которого будут извлечены элементы <table>.
  2. Вызовите метод get_elements_by_tag_name(“table”) , чтобы собрать все элементы <table> из HTML документа.
  3. Проверьте, найдены ли какие-либо таблицы. Если таблицы присутствуют, запустите цикл для итерации по каждому элементу таблицы.
    • Создайте уникальные имена файлов для каждой таблицы и путь для сохранения результата.
    • Создайте новый HTMLDocument, используя содержимое HTML таблицы, и укажите выходной путь для сохранения.
    • Сохраните новый HTML-документ, содержащий единственную таблицу, с помощью метода save() .
  4. Если элементы <table> не найдены, выведите сообщение, с информацией о том, что в документе не обнаружено таблиц.

Чтобы узнать больше о том, как программно извлекать различные типы данных из веб-страниц или любых HTML-документов с помощью Python, обратитесь к главе документации Извлечение данных на Python . Эта глава предлагает практическое руководство по автоматическому осмотру, захвату и извлечению ценных данных из HTML с помощью Aspose.HTML for Python via .NET API. В ней рассматриваются такие важные темы, как навигация по HTML-документам с помощью селекторов CSS и XPath, а также загрузка и сохранение удаленных ресурсов, таких как изображения, SVG-графика и другие файлы.



Начало работы с API Python

Если вы хотите анализировать HTML-документы, манипулировать ими и управлять ими, установите наш гибкий и высокоскоростной Aspose.HTML for Python via .NET API. pip – это самый простой способ загрузить и установить Aspose.HTML for Python via .NET. Для этого выполните следующую команду:

pip install aspose-html-net

Более подробную информацию об установке библиотеки Python и системных требованиях можно найти в Документации Apose.HTML.

Другие поддерживаемые функции

Используйте библиотеку Aspose.HTML for Python via .NET для анализа и работы с документами на основе HTML. Понятно, безопасно и просто!