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!