首頁 > 後端開發 > Python教學 > 如何將 XPath 與 BeautifulSoup 一起使用?

如何將 XPath 與 BeautifulSoup 一起使用?

Linda Hamilton
發布: 2024-11-08 06:26:01
原創
726 人瀏覽過

How can I use XPath with BeautifulSoup?

將 XPath 與 BeautifulSoup 結合使用

BeautifulSoup 是一個流行的 Python 庫,用於解析和操作 HTML 文件。但是,它本身並不支援 XPath 表達式。

替代方案:lxml

名為 lxml 的替代程式庫提供完整的 XPath 1.0 支援。它還具有 BeautifulSoup 相容模式,可以像 BeautifulSoup 一樣解析損壞的 HTML。要將XPath 與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]")
登入後複製

將CSS 選擇器與lxml 結合使用

lxml 也具有CSSSelector 支持,可以將CSSSS 語句轉換為XPath表達式。例如,要尋找類別empformbody 的td 元素:

from lxml.cssselect import CSSSelector

css_selector = CSSSelector('td.empformbody')
result_list = css_selector(tree)
登入後複製

BeautifulSoup 中的CSS 選擇器

有趣的是,BeautifulSoup 有自己的CSS 選擇器支援:

有趣的是,BeautifulSoup 有自己的CSS 選擇器
soup = BeautifulSoup(html, "html.parser")
result_list = soup.select('table#foobar td.empformbody')
登入後複製

以上是如何將 XPath 與 BeautifulSoup 一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板