【发布时间】:2011-01-11 01:51:57
【问题描述】:
我正在尝试查看一个 html 文件并从中删除所有标签,以便只留下文本,但我的正则表达式有问题。这是我目前所拥有的。
import urllib.request, re
def test(url):
html = str(urllib.request.urlopen(url).read())
print(re.findall('<[\w\/\.\w]*>',html))
html 是一个带有一些链接和文本的简单页面,但我的正则表达式不会选择 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 和 'a href=".. ..”标签。谁能解释我需要在我的正则表达式中更改什么?
【问题讨论】:
-
用正则表达式解析 HTML 的问题,你说?为什么,我简直不敢相信!谁曾想到!书籍的出现真是太棒了! PS。美丽汤。
-
保持冷静,波宾斯。慢慢地向纸袋里呼吸。进出进出……stackoverflow.com/questions/1732348/…
-
我喜欢这些问题出现的规律性。就像新问题表的“查找类似问题”部分不起作用:D
-
如果您花一点时间在 SO 上,您会发现解析 HTML 的更好方法大约有数十亿种,而正则表达式不是其中之一。
-
是的,如果您正在处理您完全了解其格式的宇宙中极小的 HTML 文档子集。