我想刪除HTML文件中的所有標記。爲此,我使用Python的重新模塊。 例如,考慮行<h1>Hello World!</h1>
。我只想保留「Hello World!」。爲了移除標籤,我使用了re.sub('<.*>','',string)
。由於顯而易見的原因,我得到的結果是一個空字符串(正則表達式標識第一個和最後一個尖括號並刪除其間的所有內容)。我怎麼能解決這個問題?使用Python處理HTML文件
0
A
回答
1
您可以匹配非貪婪:'<.*?>'
您還需要小心,HTML是一個狡猾的野獸,並能阻止你的正則表達式。
1
使用BeautifulSoup解析HTML,然後僅檢索文本。
1
使它非貪婪:http://docs.python.org/release/2.6/howto/regex.html#greedy-versus-non-greedy
題外話:使用正則表達式的方法很容易出錯。當尖括號不代表標籤時,它無法處理案例。我建議http://lxml.de/
1
使用的解析器,無論是lxml或BeautifulSoup:
import lxml.html
print lxml.html.fromstring(mystring).text_content()
相關問題:
Using regular expressions to parse HTML: why not?
Why it's not possible to use regex to parse HTML/XML: a formal explanation in layman's terms
0
Beautiful Soup是偉大的解析HTML!
你可能不需要它,但值得學習使用它。也會在未來幫助你。
相關問題
- 1. 處理HTML文件Python
- 2. 使用html和python處理文件提交
- 3. 用Python處理csv文件
- 4. 使用python處理csv數據文件
- 5. 使用python urllib處理.cst文件/ httplib
- 6. 如何使用python文件處理
- 7. Python的文件處理使用PHP
- 8. Python文件處理
- 9. 處理html和jsp文件
- 10. 處理HTML文件,如PHP
- 11. 使用ehcache處理文件處理
- 12. Python處理csv文件
- 13. 的Python 3:處理文件
- 14. python中的文件處理
- 15. 處理使用python
- 16. 使用Python處理
- 17. 使用批處理文件
- 18. 使用GIO處理文件
- 19. 使用批處理文件
- 20. 使用批處理文件
- 21. 使用mapreduce處理文件
- 22. 使用批處理文件
- 23. 使用批處理文件
- 24. 使用Thymeleaf處理電子郵件html
- 25. 用Python處理大型csv文件
- 26. 用Python處理配置文件
- 27. 處理HTML字符的HTML刮使用Python BS4
- 28. 使用UIMA處理HTML
- 29. 使用Python處理每行文本文件
- 30. 使用Python處理文本文件中的行
BeatifulSoup在Python中的模塊?或者它是什麼? – PaulDaviesC
http://www.crummy.com/software/BeautifulSoup/ – akonsu