因爲正則表達式嚇唬我,我試圖找到一種方法,從Python中的字符串中刪除所有的HTML標籤和解決HTML實體。過濾掉HTML標籤和蟒蛇解決實體
回答
如何解析HTML數據和解析器的幫助提取數據?
描述雖然我與盧卡斯同意,正則表達式是不是所有的嚇人,我還以爲你應該用專門的HTML解析器去的作者。這是因爲HTML標準足夠大(特別是如果你想任意解析從互聯網上取下的「HTML」頁面),你需要編寫大量的代碼來處理角落案例。看來python includes one out of the box。
您也應該檢查python bindings for TidyLib可以清理破碎的HTML,使得任何HTML解析更高的成功率。
您可能需要比正則表達式更復雜的東西。網頁通常有尖括號不屬於標籤的一部分,就像這樣:
<div>5 < 7</div>
剝離與正則表達式的標籤將返回字符串「5」和治療
< 7</div>
爲單一標籤並將其剝離。
我建議尋找已經編寫的代碼,這是否適合你。我做了一個搜索,發現這個:http://zesty.ca/python/scrape.html它也可以解析HTML實體。
使用BeautifulSoup!這對你來說是完美的,你有可靠的美德標記,需要從中得到合理的東西。只需傳入原始文本,提取所有字符串標籤並加入即可。
,代碼如下:''.join(BeautifulSoup(value,convertEntities = BeautifulSoup.HTML_ENTITIES).findAll(text = True)) – 2011-01-03 20:23:29
正則表達式是不可怕的,但寫自己的正則表達式剝離HTML是到了瘋狂的可靠路徑(並且它也行不通)。遵循智慧之路,並使用許多優秀的HTML解析庫之一。
Lucas的例子也被打破,因爲‘子’不是Python字符串的方法。你必須「導入re」,然後調用re.sub(pattern,repl,string)。但是這並不是那裏,因爲你的問題的正確答案不涉及寫任何正則表達式。
望着感的人的數量都在這裏展示在其他的答案,我會說,可能使用正則表達式是不是適合自己情況的最好的主意。去的東西嘗試和測試,並把我以前的答案的示威,正則表達式不必是嚇人。
如果使用- 1. 蟒蛇用實體解析html
- 2. 蟒蛇HTML標籤提取
- 3. 你怎麼解決蟒蛇
- 4. 蟒蛇解決方案
- 5. 蟒蛇過濾器重寫過濾
- 6. 立交API - 過濾掉非空標籤
- 7. 蟒蛇情節過濾GROUPBY
- 8. 刪除HTML標籤和HTML實體
- 9. c#剝離html標籤,解碼實體
- 10. 蟒蛇 - XML/HTML解析problam
- 11. 解析HTML頁面蟒蛇
- 12. 解析和蟒蛇
- 13. 蟒蛇ID3標籤的Unicode
- 14. 蟒蛇BeautifulSoup搜索標籤
- 15. 標籤錯誤蟒蛇
- 16. 蟒蛇搜索標籤
- 17. 過濾HTML標籤的sed
- 18. 正則表達式替代HTML HREF和U標籤(蟒蛇)
- 19. 蟒蛇:找到HTML標籤和替換它們的屬性
- 20. 過濾掉標點符號
- 21. 蟒蛇:從HTML
- 22. 如何解決編碼蟒蛇
- 23. 蟒蛇解決矩陣的限制
- 24. 如何解決這個錯誤蟒蛇
- 25. SQL用戶定義的函數去掉HTML標籤並替換HTML實體
- 26. 火花+蟒蛇+過濾問題
- 27. 蟒蛇過濾器字母串
- 28. 蟒蛇過濾器不工作
- 29. 蟒蛇過濾對象列表
- 30. 過濾蟒蛇的MySQL結果
實際上鍊接深入Python應該是[這](HTTP:// diveintopython的。org/html_processing/index.html) – 2008-09-02 09:54:12