Python

Cara Menghurai dan Mengikis HTML Menggunakan Pyquery

Cara Menghurai dan Mengikis HTML Menggunakan Pyquery
"Pyquery" adalah modul Python pihak ketiga yang membolehkan anda menghurai dan mengekstrak data dari dokumen "xml" dan "html". Ia diilhamkan oleh pustaka JavaScript jQuery dan mempunyai sintaks yang hampir sama, yang membolehkan anda menggunakan banyak fungsi pembantu dan kod pendek untuk menghurai dan memanipulasi pokok dokumen. Artikel ini akan merangkumi panduan ringkas mengenai Pyquery yang akan membantu anda memulakan modul.

Pemasangan Pyquery

Untuk memasang Pyquery di Ubuntu, gunakan arahan yang dinyatakan di bawah:

$ sudo apt memasang python3-pyquery

Anda juga boleh memasang versi terbaru Pyquery dari pengurus pakej "pip" dengan menjalankan dua perintah berikut berturut-turut:

$ sudo apt memasang python3-pip
$ pip3 memasang pyquery

Untuk memasang Pyquery dalam pengedaran Linux yang lain, pasang "pip3" dari pengurus pakej dan jalankan perintah kedua yang disebutkan di atas.

Membuat Pokok Dokumen yang Boleh Dihuraikan

Sebelum anda dapat menguraikan dan mengekstrak data dari dokumen HTML, anda perlu membuat susunan dokumen. Anda boleh membuat pokok dokumen dari markup HTML mudah menggunakan contoh kod di bawah:

dari pyquery import PyQuery sebagai pq
document = pq ("Helo Dunia !!")
cetak (dokumen)
cetak (jenis (dokumen))

Pernyataan pertama mengimport kelas "PyQuery" dari modul "pyquery". Seterusnya, contoh baru kelas PyQuery dibuat. Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Hai dunia !!

Perhatikan baris kedua dalam output. Di sini "dokumen", yang merupakan contoh kelas "PyQuery", tidak mengembalikan objek jenis rentetan. Anda boleh membuat pertanyaan dengan cepat semua kaedah yang tersedia untuk contoh "dokumen" dengan menambahkan baris tambahan berikut ke contoh kod di atas:

dari pyquery import PyQuery sebagai pq
dokumen = pq ("Hai dunia !!")
cetak (bantuan (dokumen))

Anda juga boleh melayari API untuk kelas PyQuery secara dalam talian.

Untuk membuat pohon dokumen dari URL, gunakan kod berikut (ganti "url" dengan alamat yang anda inginkan):

dari pyquery import PyQuery sebagai pq
document = pq (url = 'https: // contoh.com ')
cetak (dokumen)

Untuk membuat pohon dokumen bentuk fail HTML tempatan, gunakan kod di bawah ini (ganti nilai "nama fail" sesuai dengan keperluan anda):

dari pyquery import PyQuery sebagai pq
dokumen = pq (nama fail = 'indeks.html ')
cetak (dokumen)

Sekarang anda mempunyai pokok dokumen, anda boleh mula menghuraikannya.

Memanipulasi Pokok Dokumen

Anda boleh mengekstrak data dan memanipulasi pokok dokumen menggunakan pelbagai kaedah. Beberapa kaedah yang paling biasa disenaraikan di bawah dengan sampel. Untuk semua kaedah yang boleh digunakan, rujuk API yang terdapat di sini.

Anda boleh menggunakan kaedah "teks" untuk mendapatkan kandungan teks dari elemen:

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
mencetak (hlm.teks ())

Anda dapat memilih tag / elemen tertentu dengan memberikan namanya sebagai argumen untuk contoh "dokumen". Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Hai dunia !!

Anda dapat memperoleh atribut tag dengan menggunakan kaedah "attr". Untuk melakukannya, pilih tag yang ingin anda huraikan ('p' dalam kes ini) dan berikan nama atribut sebagai argumen ('id' dalam kes ini) atau gunakan notasi titik.

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
cetak (dokumen)
mencetak (hlm.attr ("id"), hlm.attr.ID)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Hai dunia !!

Anda boleh memanipulasi CSS menggunakan kaedah "css". Untuk menambah gaya CSS ke

atau tag lain, anda boleh menggunakan kod berikut:

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
hlm.css ("warna": "merah")
cetak (dokumen)
mencetak (hlm.attr ("gaya"))

Ganti bahagian "" color ":" red "" dengan gaya tersuai anda sendiri. Setelah menjalankan contoh kod di atas, anda harus mendapatkan output berikut dan dapat mengesahkan bahawa CSS telah digunakan dengan betul:

Hai dunia !!


warna: merah

Sekiranya anda mempunyai kelas pra-gaya, Anda hanya dapat menggunakan kaedah "addClass" untuk menerapkan gaya yang ada.

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
hlm.addClass ("gaya")

Anda boleh menambahkan dan menambahkan markup tersuai anda sendiri menggunakan contoh kod di bawah:

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
hlm.persediaan ("

Hai

")
hlm.tambahkan ("

Selamat tinggal

")
cetak (dokumen)

Gantikan argumen dalam kaedah "prepend" dan "append" dengan nilai anda sendiri. Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Hai

Hai dunia !!

Selamat tinggal

Untuk membuang kandungan elemen, gunakan kaedah "kosong".

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Hai dunia !!

")
p = dokumen ('p')
hlm.kosong ()
cetak (dokumen)

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Anda boleh menggunakan kaedah "filter" untuk memilih elemen tertentu apabila terdapat banyak tag dari jenis yang sama. Sebagai contoh, kod di bawah ini mengambil "

"Tag yang mempunyai" id "sebagai" hello ":

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Helo

Dunia !!

")
p = dokumen ('p')
mencetak (hlm.tapis ("# hello"))

Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Helo

Anda boleh menemui banyak tag / elemen sekaligus menggunakan kaedah "cari":

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Helo

Dunia !!

")
mencetak (dokumen.cari ('p'))

Berikan nama tag / elemen sebagai argumen kepada kaedah "cari". Setelah menjalankan contoh kod di atas, anda akan mendapat output berikut:

Helo

Dunia !!

Anda boleh beralih antara pengurai "xml" dan "html" menggunakan argumen "penghurai" tambahan:

dari pyquery import PyQuery sebagai pq
dokumen = pq ("

Helo

Dunia !!

", parser =" html ")
cetak (dokumen)

Sekiranya anda memerlukan bantuan lebih lanjut dengan Pyquery, rujuk dokumentasi rasmi dan contohnya yang terdapat di sini.

Kesimpulannya

PyQuery membolehkan anda menguraikan dokumen html dengan cepat dengan menulis kod minimum, kerana ia merangkumi banyak fungsi pembantu yang sepenuhnya menghilangkan keperluan untuk menulis kod tersuai. "JQuery" seperti sintaks dan strukturnya juga membantu dalam memilih elemen dan node tanpa masuk lebih jauh ke dalam pohon dokumen, terutamanya apabila terdapat banyak markup bersarang.

Alat Berguna untuk Pemain Linux
Sekiranya anda suka bermain permainan di Linux, kemungkinan anda telah menggunakan aplikasi dan utiliti seperti Wine, Lutris dan OBS Studio untuk meni...
HD Remastered Games untuk Linux yang Tidak Pernah Melancarkan Linux Sebelumnya
Banyak pembangun dan penerbit permainan hadir dengan penghapus HD permainan lama untuk memperpanjang usia francais, harap peminat meminta keserasian d...
Cara Menggunakan AutoKey untuk Mengautomasikan Permainan Linux
AutoKey adalah utiliti automasi desktop untuk Linux dan X11, yang diprogramkan dalam Python 3, GTK dan Qt. Dengan menggunakan skrip dan fungsi MACRO, ...