Rumah  >  Artikel  >  hujung hadapan web  >  Panduan pemula asas untuk pemilih lxml

Panduan pemula asas untuk pemilih lxml

王林
王林asal
2024-01-13 09:39:05382semak imbas

Panduan pemula asas untuk pemilih lxml

Mulakan dari awal dan pelajari perkara yang disokong oleh pemilih lxml!

Selector ialah salah satu alat yang sangat penting dalam proses penghuraian halaman web dan pengekstrakan data. lxml ialah perpustakaan Python yang berkuasa yang menyediakan pelbagai pemilih yang boleh membantu kami mencari dan mengekstrak kandungan dalam halaman web dengan lebih mudah. Artikel ini akan memperkenalkan beberapa pemilih biasa yang disokong oleh lxml dan menyediakan contoh demonstrasi mudah.

lxml ialah penghurai HTML dan XML berprestasi tinggi berdasarkan bahasa C Kelajuan dan penggunaan memorinya lebih baik daripada penghurai Python sendiri. lxml menyokong dua sintaks pemilih yang biasa digunakan, pemilih XPath dan CSS Di bawah kami memperkenalkan penggunaannya masing-masing.

  1. Pemilih XPath

XPath ialah pemilih berdasarkan bahasa ekspresi laluan XML, yang mencari nod melalui ungkapan laluan. Menggunakan sintaks XPath dalam lxml adalah sangat mudah, hanya gunakan kaedah xpath(). Berikut ialah beberapa contoh ungkapan 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
  1. Pemilih CSS

Pemilih CSS ialah sintaks pemilih yang biasa digunakan yang memilih elemen mengikut penggayaan. Untuk menggunakan pemilih CSS dalam lxml, anda boleh menggunakan perpustakaan cssselect. Berikut ialah beberapa contoh pemilih 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

Melalui contoh di atas, kita dapat melihat bahawa pemilih lxml sangat fleksibel dan mudah. Sebagai tambahan kepada penggunaan asas yang diperkenalkan di atas, lxml juga menyokong operasi pemilih yang lebih kompleks, seperti gabungan pemilih, sarang pemilih, dsb.

Untuk meringkaskan, lxml ialah pustaka penghuraian HTML dan XML yang berkuasa yang menyokong dua sintaks pemilih yang biasa digunakan, pemilih XPath dan CSS. Menggunakan pemilih dalam lxml, kami boleh mencari dan mengekstrak kandungan dengan cepat dan tepat dalam halaman web, yang memudahkan pemprosesan dan analisis data seterusnya. Saya harap artikel ini dapat membantu pembaca memahami fungsi pemilih lxml dan digunakan sepenuhnya dalam projek sebenar.

Atas ialah kandungan terperinci Panduan pemula asas untuk pemilih lxml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn