2009-10-25 13 views

回答

4

python標準模塊html.parser應該允許你解析簡單的html內容並消除標籤。您只需派生HTMLParser,然後重載所有handle _ *()方法,以便輸出或放棄內容,具體取決於周圍的元素標記。

4

BeautifulSoup:http://www.crummy.com/software/BeautifulSoup/

從主頁:

美麗的湯是一個Python HTML/XML解析器設計用於快速週轉項目,如屏幕抓取。三個特點使其功能強大:

  1. 美麗的湯不會嗆,如果你給它壞標記。它產生一個解析樹,與您的原始文檔大致相同。這通常足夠收集你需要的數據並逃跑。
  2. 美麗的湯提供了一些簡單的方法和Pythonic成語,用於瀏覽,搜索和修改解析樹:一個解剖文檔和提取所需內容的工具包。您不必爲每個應用程序創建自定義分析器。
  3. 美麗的湯自動將傳入文檔轉換爲Unicode和傳出文檔爲UTF-8。您不必考慮編碼,除非文檔未指定編碼,而美麗湯不能自動檢測編碼。然後您只需指定原始編碼。
+0

多那麼討論碰這個解析器,HTTP://計算器從readme.txt文件http://pypi.python.org/pypi/stripogram/1.5

用法示例.COM /問題/標記/ beautifulsoup – gimel 2009-10-25 10:37:40

1

你可能想看看地帶-O-革蘭氏HTML轉換庫:

from stripogram import html2text, html2safehtml 
    mylumpofdodgyhtml # a lump of dodgy html ;-) 
    # Only allow <b>, <a>, <i>, <br>, and <p> tags 
    mylumpofcoolcleancollectedhtml = html2safehtml(mylumpofdodgyhtml,valid_tags=("b", "a", "i", "br", "p")) 
    # Don't process <img> tags, just strip them out. Use an indent of 4 spaces 
    # and a page that's 80 characters wide. 
    mylumpoftext = html2text(mylumpofcoolcleancollectedhtml,ignore_tags=("img",),indent_width=4,page_width=80) 
相關問題