Rumah  >  Artikel  >  hujung hadapan web  >  Mesti menguasai untuk meningkatkan kemahiran anda! Ringkasan petua pemilih lxml dan pemilih yang disokong!

Mesti menguasai untuk meningkatkan kemahiran anda! Ringkasan petua pemilih lxml dan pemilih yang disokong!

PHPz
PHPzasal
2024-01-13 09:17:06629semak imbas

Mesti menguasai untuk meningkatkan kemahiran anda! Ringkasan petua pemilih lxml dan pemilih yang disokong!

Mesti ada untuk kemajuan! Petua untuk menggunakan pemilih lxml dan senarai pemilih yang disokong!

Ikhtisar:

Pemilih ialah alat yang sangat penting semasa melakukan pengikisan data web atau pengekstrakan data. Dalam Python, terdapat banyak perpustakaan pemilih untuk dipilih, antaranya lxml ialah perpustakaan pemilih yang berkuasa. Artikel ini akan memperkenalkan kemahiran penggunaan pemilih lxml dan senarai pemilih yang disokong untuk membantu pembaca meningkatkan lagi kecekapan pengekstrakan data.

1. Pengenalan kepada pemilih lxml

lxml ialah perpustakaan penghurai berasaskan Python yang menyediakan pemilih XPath dan pemilih CSS yang boleh diperluas untuk menghuraikan dokumen HTML dan XML. Kelebihan utama pemilih lxml ialah ia pantas, berkuasa dan sesuai untuk memproses fail besar. Sebelum menggunakan pemilih lxml, anda perlu memasang perpustakaan lxml terlebih dahulu Anda boleh memasangnya melalui arahan berikut:

pip install lxml

2. Penggunaan asas pemilih lxml

Penggunaan asas pemilih lxml adalah sangat mudah hanya perlu mengimport modul yang sepadan dan mencipta objek pemilih, dan kemudian gunakan objek pemilih untuk mengekstrak data.

Mula-mula, import perpustakaan lxml dan modul yang sepadan:

from lxml import etree

Kemudian, huraikan dokumen HTML atau XML, dan buat objek pemilih:

# 解析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)

Seterusnya, anda boleh menggunakan objek pemilih untuk mengekstrak data. Pemilih lxml menyokong pemilih XPath dan pemilih CSS Penggunaannya akan diperkenalkan di bawah.

  1. XPath Selector

XPath (Bahasa Laluan XML) ialah bahasa yang digunakan untuk menavigasi dan mengekstrak maklumat dalam dokumen XML atau HTML. Pemilih lxml menyokong pemilih XPath, yang melaluinya unsur-unsur yang akan diekstrak boleh dikesan dengan tepat.

Sintaks XPath biasa termasuk:

  • Pilih elemen: /, //, []///[]
  • 选择属性:@
  • 选择文本:text()
  • 选择父节点:..

以下是几个XPath选择器的示例:

# 提取h1标签的文本
titles = selector.xpath('//h1/text()')
print(titles)  # 输出:['标题1', '标题2']

# 提取p标签的属性class值
classes = selector.xpath('//p/@class')
print(classes)  # 输出:['content', 'content']
  1. CSS选择器

CSS(Cascading Style Sheets)选择器是一种用于在HTML文档中选择元素的语言。lxml选择器也支持CSS选择器,通过CSS选择器可以通过标签、类、ID等方式进行元素的定位。

常见的CSS选择器包括:

  • 选择标签:标签名
  • 选择类:.类名
  • 选择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

三、lxml选择器支持的选择器一览

lxml选择器支持的选择器包括XPath选择器和CSS选择器,下面是一些常用的选择器:

  • XPath选择器:

    • /:选择根节点
    • //:选择所有节点
    • []:条件选择
    • @:选择属性
    • text():选择文本
    • ..:选择父节点
  • CSS选择器:

    • 标签选择器:标签名
    • 类选择器:.类名
    • ID选择器:#ID名
    • 父子关系:空格
    • 相邻兄弟关系:+
    • 后续兄弟关系:~
    • Pilih atribut: @
  • Pilih teks: text()

Pilih nod induk: ..

Berikut ialah beberapa contoh pemilih XPath:

rrreee

    Pemilih CSS🎜🎜🎜Pemilih CSS (Cascading Style Sheets) ialah bahasa yang digunakan untuk memilih elemen dalam dokumen HTML. Pemilih lxml juga menyokong pemilih CSS, di mana elemen boleh diletakkan melalui teg, kelas, ID, dsb. 🎜🎜Pemilih CSS biasa termasuk: 🎜🎜🎜Pilih teg: nama teg 🎜🎜Pilih kelas: .Nama kelas🎜🎜Pilih ID: #nama ID🎜🎜Pilih Ibu Bapa- hubungan anak: Ruang 🎜🎜Pilih hubungan adik beradik bersebelahan: +🎜🎜Pilih hubungan adik beradik seterusnya: ~🎜🎜🎜Berikut ialah beberapa contoh pemilih CSS: 🎜rrreee 🎜3. Senarai pemilih yang disokong oleh pemilih lxml 🎜🎜 Pemilih yang disokong oleh pemilih lxml termasuk pemilih XPath dan pemilih CSS Berikut ialah beberapa pemilih yang biasa digunakan: 🎜🎜🎜🎜Pemilih XPath: 🎜🎜🎜/: Pilih akar. nod🎜🎜//: Pilih semua nod🎜🎜[]: Pemilihan bersyarat🎜🎜@: Pilih atribut 🎜🎜teks( ): Pilih teks 🎜🎜..: Pilih nod induk 🎜🎜🎜🎜🎜Pemilih CSS: 🎜🎜🎜 Pemilih teg: nama teg 🎜🎜Pemilih kelas: .Nama kelas 🎜🎜Pemilih ID: #Nama ID🎜🎜Hubungan bapa-anak: space🎜🎜Hubungan adik beradik bersebelahan: +🎜🎜Mengikuti persaudaraan: ~ 🎜🎜🎜🎜🎜Selain daripada pemilih yang biasa digunakan di atas, lxml juga menyokong lebih banyak pemilih, seperti pemilih kedudukan, pemilih atribut, dll., pembaca boleh Semak dokumentasi rasmi lxml untuk kajian mendalam dan persefahaman. 🎜🎜Kesimpulan: 🎜🎜Pemilih lxml ialah perpustakaan pemilih berkuasa yang menyokong pemilih XPath dan pemilih CSS, sesuai untuk menghuraikan dan pengekstrakan data dokumen HTML dan XML. Artikel ini memperkenalkan penggunaan asas pemilih lxml dan pemilih yang biasa digunakan Diharapkan pembaca dapat lebih menguasai dan menggunakan pemilih lxml melalui pembelajaran dan latihan, serta meningkatkan kecekapan dan ketepatan pengekstrakan data. 🎜

Atas ialah kandungan terperinci Mesti menguasai untuk meningkatkan kemahiran anda! Ringkasan petua pemilih lxml dan pemilih yang disokong!. 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