我想删除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