Skip to content

Instantly share code, notes, and snippets.

@hdknr
Last active September 10, 2024 01:50
Show Gist options
  • Save hdknr/7a0140e6f69f2d507c121c14557276c8 to your computer and use it in GitHub Desktop.
Save hdknr/7a0140e6f69f2d507c121c14557276c8 to your computer and use it in GitHub Desktop.
Python: DOM

Python: DOM

lxml

etree

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

cssutilsを使ってゼロからCSSを構成するのは比較的簡単です。以下の手順でCSSスタイルシートを作成し、ルールを追加することができます。

  1. cssutilsをインストール:

    pip install cssutils
  2. 新しい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.

資料

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment