Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah saya boleh menggunakan XPath dengan 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!