#昇進には必須! lxml セレクターの使用に関するヒントとサポートされているセレクターのリスト!
概要:
セレクターは、Web データのクローリングまたはデータ抽出を実行するときに非常に重要なツールです。 Python では、選択できるセレクター ライブラリが多数ありますが、その中でも lxml は強力なセレクター ライブラリです。この記事では、読者がデータ抽出の効率をさらに向上させるのに役立つ、lxml セレクターの使用スキルとサポートされているセレクターのリストを紹介します。
1. lxml セレクターの概要
lxml は、HTML および XML ドキュメントを解析するための拡張可能な XPath セレクターと CSS セレクターを提供する Python ベースのパーサー ライブラリです。 lxml セレクターの主な利点は、高速かつ強力で、大きなファイルの処理に適していることです。 lxml セレクターを使用する前に、まず lxml ライブラリをインストールする必要があります。次のコマンドでインストールできます:
pip install lxml
ログイン後にコピー
2. lxml セレクターの基本的な使用法
lxml セレクターの基本的な使用法lxml セレクターは非常にシンプルで、対応するモジュールをインポートしてセレクター オブジェクトを作成し、そのセレクター オブジェクトを使用してデータを抽出するだけです。
まず、lxml ライブラリと対応するモジュールをインポートします:
from lxml import etree
ログイン後にコピー
次に、HTML または XML ドキュメントを解析し、セレクター オブジェクトを作成します:
# 解析HTML文档
html = '''
<html>
<body>
<div class="container">
<h1>标题1</h1>
<p class="content">内容1</p>
</div>
<div class="container">
<h1>标题2</h1>
<p class="content">内容2</p>
</div>
</body>
</html>
'''
# 创建选择器对象
selector = etree.HTML(html)
ログイン後にコピー
次に、データを抽出するコンテナ オブジェクトを選択します。 lxml セレクターは XPath セレクターと CSS セレクターをサポートしていますので、その使い方を以下に紹介します。
XPath セレクター
XPath (XML パス言語) は、XML または HTML ドキュメント内の情報をナビゲートして抽出するために使用される言語です。 lxml セレクターは、抽出される要素を正確に見つけることができる XPath セレクターをサポートしています。
一般的な XPath 構文には次のものが含まれます:
要素の選択: - /
、
//、
[]
属性の選択: - @
テキストの選択: - text()
親ノードの選択: - ..
XPath セレクターの例をいくつか示します。
# 提取h1标签的文本
titles = selector.xpath('//h1/text()')
print(titles) # 输出:['标题1', '标题2']
# 提取p标签的属性class值
classes = selector.xpath('//p/@class')
print(classes) # 输出:['content', 'content']
ログイン後にコピー
CSS セレクター
CSS (Cascading Style Sheets) セレクターは、次の言語です。 HTML ドキュメント内の要素を選択します。 lxml セレクターは CSS セレクターもサポートしており、タグ、クラス、ID などを通じて要素を配置できます。
一般的な CSS セレクターには次のものが含まれます:
タグの選択: タグ名クラスの選択: - .クラス名
# #Select ID: #ID 名
親子関係を選択: スペース- 隣接する兄弟関係を選択:
後続の兄弟関係を選択: ~
以下は、いくつかの CSS セレクターの例です:
# 提取h1标签的文本
titles = selector.cssselect('h1')
for title in titles:
print(title.text) # 输出:标题1、标题2
# 提取p标签的属性class值
classes = selector.cssselect('p.content')
for p in classes:
print(p.get('class')) # 输出:content、content
ログイン後にコピー
3. lxml セレクターでサポートされるセレクターのリスト
# サポートされるセレクター##lxml セレクターには、XPath セレクターと CSS セレクターが含まれます。一般的に使用されるセレクターは次のとおりです:
XPath セレクター:
-
#/
: ルートノードを選択
-
//
: すべてのノードを選択
-
[]
: 条件付き選択 -
@
: 属性を選択
-
text()
: テキストを選択
-
..
: 親ノードを選択
-
#CSS セレクター:
タグ セレクター: タグ名 -
# クラス セレクター:
.クラス名
- #IDセレクタ:
#ID 名 #父子関係: スペース
隣接する兄弟関係:-
その後の兄弟関係: - ~
- 上記の一般的に使用されるセレクターに加えて、lxml は、位置セレクター、属性セレクターなど、より多くのセレクターもサポートしています。読者は公式を確認できます。詳しい学習と理解のために lxml のドキュメントを参照してください。
結論:
lxml セレクターは、XPath セレクターと CSS セレクターをサポートし、HTML および XML ドキュメントの解析とデータ抽出に適した強力なセレクター ライブラリです。この記事では、lxml セレクターの基本的な使い方とよく使用されるセレクターを紹介し、学習と実践を通じて lxml セレクターをさらに習得、応用し、データ抽出の効率と精度を向上させることを期待します。
以上がスキルを向上させるにはマスターする必要があります! lxmlセレクターのヒントとサポートされているセレクターのまとめ!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。