from lxml import etree
# ルート要素を作成
html = etree.Element("html")
body = etree.SubElement(html, "body")
h1 = etree.SubElement(body, "h1")
h1.text = "タイトル"
p = etree.SubElement(body, "p")
p.text = "これは段落です。"
# HTMLを文字列として取得
html_string = etree.tostring(html, pretty_print=True, encoding='unicode')
print(html_string)
cssutilsを使ってゼロからCSSを構成するのは比較的簡単です。以下の手順でCSSスタイルシートを作成し、ルールを追加することができます。
-
cssutilsをインストール:
pip install cssutils
-
新しいCSSスタイルシートを作成:
import cssutils # 新しいスタイルシートを作成 sheet = cssutils.css.CSSStyleSheet() # CSSルールを追加 rule = cssutils.css.CSSStyleRule(selectorText='body') rule.style.setProperty('background-color', 'blue') sheet.cssRules.append(rule) # 別のCSSルールを追加 rule = cssutils.css.CSSStyleRule(selectorText='p') rule.style.setProperty('color', 'white') sheet.cssRules.append(rule) # スタイルシートを表示 print(sheet.cssText.decode('utf-8'))
このスクリプトでは、まず新しいCSSスタイルシートを作成し、次にbody
要素に対して背景色を青に設定するルールを追加しています。さらに、p
要素に対して文字色を白に設定するルールも追加しています。
このようにして、cssutilsを使ってプログラム的にCSSを構成することができます。他にも、必要に応じて追加のルールやプロパティを設定することが可能です。
ソース: Copilot との会話、 2024/9/10 (1) Pythonでcssutilsを使ったCSSのパース - Qiita. https://qiita.com/sokutou-metsu/items/40757031b740a1cbba4b. (2) cssutils - PyPI. https://pypi.org/project/cssutils/. (3) GitHub - jaraco/cssutils. https://github.com/jaraco/cssutils.
- https://github.com/gradio-app/gradio
- https://github.com/streamlit/streamlit (UI変更データをProtocolBufferで送信して、クライアントのReactで仮想DOMの更新をしている)