Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh menggunakan XPath dengan BeautifulSoup?

Bagaimanakah saya boleh menggunakan XPath dengan BeautifulSoup?

Linda Hamilton
Linda Hamiltonasal
2024-11-08 06:26:01678semak imbas

How can I use XPath with BeautifulSoup?

Menggunakan XPath dengan BeautifulSoup

BeautifulSoup ialah perpustakaan Python yang popular untuk menghuraikan dan memanipulasi dokumen HTML. Walau bagaimanapun, ia tidak menyokong ungkapan XPath secara asli.

Alternatif: lxml

Pustaka alternatif yang dipanggil lxml menyediakan sokongan penuh XPath 1.0. Ia juga mempunyai mod serasi BeautifulSoup yang boleh menghuraikan HTML yang rosak seperti BeautifulSoup. Untuk menggunakan XPath dengan lxml:

from lxml import etree
from urllib import request

url = "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = request.urlopen(url)
tree = etree.parse(response, etree.HTMLParser())
result_list = tree.xpath("/html/body/div/table/tbody/tr[1]/td[1]")

Menggunakan Pemilih CSS dengan lxml

lxml juga mempunyai sokongan CSSSelector, yang boleh menterjemahkan pernyataan CSS ke dalam ungkapan XPath. Contohnya, untuk mencari elemen td dengan empformbody kelas:

from lxml.cssselect import CSSSelector

css_selector = CSSSelector('td.empformbody')
result_list = css_selector(tree)

Pemilih CSS dalam BeautifulSoup

Menariknya, BeautifulSoup mempunyai sokongan pemilih CSS sendiri:

soup = BeautifulSoup(html, "html.parser")
result_list = soup.select('table#foobar td.empformbody')

Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan XPath dengan BeautifulSoup?. 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