ゼロから始めて、lxml がサポートするセレクターを学習してください。
セレクターは、Web ページの解析とデータ抽出のプロセスにおいて非常に重要なツールの 1 つです。 lxml は、Web ページ内のコンテンツをより簡単に見つけて抽出するのに役立つさまざまなセレクターを提供する強力な Python ライブラリです。この記事では、lxml でサポートされているいくつかの一般的なセレクターを紹介し、簡単な例を示します。
lxml は、C 言語をベースにした高性能 HTML および XML パーサーで、速度とメモリ使用量が Python 独自のパーサーよりも優れています。 lxml は、XPath セレクターと CSS セレクターという 2 つの一般的に使用されるセレクター構文をサポートしています。以下にそれぞれの使用法を紹介します。
XPath は、XML パス式言語に基づくセレクターであり、パス式を通じてノードを見つけます。 lxml での XPath 構文の使用は非常に簡単で、xpath() メソッドを使用するだけです。 XPath 式の例をいくつか示します。
from lxml import etree html = """ <html> <body> <div class="content"> <h1>标题</h1> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> </body> </html> """ # 创建解析器对象 parser = etree.HTMLParser() # 解析HTML tree = etree.parse(html, parser) # 使用XPath选择器 title = tree.xpath("//h1/text()")[0] print(title) # 输出:标题 # 获取所有列表项 items = tree.xpath("//li") for item in items: print(item.text) # 输出:列表1 列表2 列表3
CSS セレクターは、スタイルを通じて要素を選択する、一般的に使用されるセレクター構文です。 lxml で CSS セレクターを使用するには、cssselect ライブラリを使用できます。 CSS セレクターの例をいくつか示します。
from lxml import etree from lxml.cssselect import CSSSelector html = """ <html> <body> <div class="content"> <h1>标题</h1> <ul> <li>列表1</li> <li>列表2</li> <li>列表3</li> </ul> </div> </body> </html> """ # 创建解析器对象 parser = etree.HTMLParser() # 解析HTML tree = etree.parse(html, parser) # 使用CSS选择器 selector = CSSSelector("h1") title = selector(tree)[0].text print(title) # 输出:标题 # 获取所有列表项 selector = CSSSelector("li") items = selector(tree) for item in items: print(item.text) # 输出:列表1 列表2 列表3
上記の例を通じて、lxml のセレクターが非常に柔軟でシンプルであることがわかります。上記で紹介した基本的な使用法に加えて、lxml は、セレクターの組み合わせ、セレクターのネストなど、より複雑なセレクター操作もサポートします。
要約すると、lxml は、一般的に使用される 2 つのセレクター構文、XPath セレクターと CSS セレクターをサポートする強力な HTML および XML 解析ライブラリです。 lxml のセレクターを使用すると、Web ページ内のコンテンツを迅速かつ正確に見つけて抽出できるため、その後のデータ処理と分析が容易になります。この記事が、読者が lxml のセレクター機能を理解し、実際のプロジェクトに完全に適用されるのに役立つことを願っています。
以上がlxml セレクターの基本的な初心者ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。