Установка библиотеки LXML для Python в Ubuntu Linux

lxml – это библиотека, используемая в программировании на Python для обеспечения возможности разбора и манипулирования документами XML и HTML. Она позволяет разработчикам получить преимущества библиотек Си libxml2 и libxslt, что делает обработку XML и HTML более быстрой. Поэтому lxml популярен для веб-скреппинга, извлечения данных и многого другого. Если вы используете Ubuntu Linux и Python и хотите установить библиотеку LXML, то простые шаги этого руководства помогут вам.

Шаги по установке Python LXML

1. Начните с обновления пакетов Ubuntu:

Давайте запустим команду обновления системы на нашем Ubuntu, чтобы убедиться, что системные пакеты обновлены и последние обновления безопасности также установлены в нашей системе. Итак, откройте терминал и выполните команду:

sudo apt update

Хотя устанавливать LXML не обязательно, если вы хотите, можете также выполнить команду обновления системы.

sudo apt upgrade

2. Установите зависимости:

Есть несколько инструментов и библиотек, необходимых lxml для корректной работы. Выполните приведенную команду, которая установит Python3 и файлы разработки для libxml2 и libxslt

sudo apt install libxml2-dev libxslt-dev python3-dev python3

3. Установите lxml с помощью pip:

Рекомендуемый способ установки lxml – через pip, программа установки пакетов Python. Если у вас еще не установлен PIP, используйте – “sudo apt install python3-pip” , после чего выполнить данную команду.

pip3 install lxml

Эта команда загрузит и установит последнюю версию lxml из индекса пакетов Python (PyPI).

4. Проверьте установку:

После завершения установки LXML для Python мы можем использовать команду Python, чтобы убедиться, что LXML установлен правильно. Данная команда выведет версию LXML, показывая, что он установлен в нашей системе и настроен правильно.

 python3 -c "import lxml; print(lxml.__version__)"

5. Пример использования LXML в Python3

Как мы знаем, библиотека LXML работает в Python для разбора XML и HTML документов, поэтому здесь мы покажем вам, как можно разобрать XML файл с помощью LXML для извлечения или манипулирования данными файла.

Пример:

Создайте файл XML:

nano demo.xml

Вставьте следующий код и сохраните файлы, нажав кнопку Ctrl+X, введите Y, и нажмите кнопку Введите клавиша.

<library>
    <book>
        <title>Learning Python</title>
        <author>Mark Lutz</author>
        <year>2013</year>
    </book>
    <book>
        <title>Automate the Boring Stuff with Python</title>
        <author>Al Sweigart</author>
        <year>2015</year>
    </book>
</library>

Далее мы создадим сценарий Python, который будет добавлять новые данные о книгах в созданный выше XML-файл.

nano book.py

Вставьте код и сохраните файл:

from lxml import etree

# Load and parse the XML file
tree = etree.parse('demo.xml')

# Get the root element
root = tree.getroot()

# Print out the title of each book
print("Book Titles in the Library:")
for book in root.findall('book'):
    title = book.find('title').text
    print(title)

# Add a new book to the library
new_book = etree.SubElement(root, "book")
title = etree.SubElement(new_book, "title")
title.text = "Python Crash Course"
author = etree.SubElement(new_book, "author")
author.text = "Eric Matthes"
year = etree.SubElement(new_book, "year")
year.text = "2016"

# Save the modified XML to a new file
tree.write('modified_library.xml', pretty_print=True, xml_declaration=True, encoding="UTF-8")

print("\nA new book has been added to the library and saved to 'modified_library.xml'.")

Запустите созданный выше скрипт Python:

python3 book.py

Теперь, если вы проверите только что созданный XML-файл, т.е. “modified_library.xml”, вы увидите следующее

Пример использования LXML на питоне

Для получения более подробной информации об использовании LXML пользователи могут обратиться к официальному lxml документация страница.

Заключение

lxml это простой, но полезный инструмент для Python-разработчиков, работающих с XML- и HTML-данными. Мы уже видели, что установка LXML for Python в Ubuntu довольно проста, но дает множество возможностей для веб-скреппинга, парсинга данных и других задач.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *