簡體   English   中英

忽略Python中的XML錯誤

[英]Ignoring XML errors in Python

我在Python中使用XML minidom(xml.dom.minidom),但XML中的任何錯誤都將終止解析器。 是否可以忽略它們,例如瀏覽器? 我試圖用Python編寫瀏覽器,但如果標簽不完全兼容,它只會引發異常。

有一個叫做BeautifulSoup的圖書館,我想這就是你要找的東西。 當您嘗試解析無效的XML時,普通的XML解析器將無法正常工作。 BeautifulSoup更容錯,它仍然可以從無效的XML中提取信息。

Beautiful Soup是一個Python HTML / XML解析器,專為快速周轉項目而設計,例如屏幕抓取。 三個功能使其功能強大:

  1. 如果給它不好的標記,美麗的湯不會窒息。 它產生一個解析樹,使其與原始文檔幾乎一樣有意義。 這通常足以收集您需要的數據並逃跑。
  2. Beautiful Soup提供了一些簡單的方法和Pythonic習語,用於導航,搜索和修改解析樹:用於剖析文檔和提取所需內容的工具包。 您不必為每個應用程序創建自定義解析器。
  3. Beautiful Soup會自動將傳入的文檔轉換為Unicode,將傳出的文檔轉換為UTF-8。 您不必考慮編碼,除非文檔沒有指定編碼並且Beautiful Soup不能自動檢測編碼。 然后你只需要指定原始編碼。

美麗的湯解析你給它的任何東西,並為你做樹遍歷的東西。 您可以告訴它“查找所有鏈接”,或“查找類externalLink的所有鏈接”,或“查找其網址匹配的所有鏈接”foo.com“,或”查找具有粗體文本的表格標題,然后給出我那個文字。“

應該注意的是,雖然HTML看起來像XML,但它不是XML。 XHTML是HTML的XML形式。

例如,請參閱extract-text-from-html-file-using-python,以獲取有關在Python中解析HTML的方法的建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM