从网页中删除除文本之外的所有内容的最佳方法是什么?

Jam*_*mes 6 python

我正在寻找一个html页面,只是在该页面上提取纯文本.有人知道在python中这样做的好方法吗?

我想从字面上删除所有内容,只留下文章的文本以及标签之间的其他文本.JS,css等......走了

谢谢!

g.d*_*d.c 5

如果它们在页面中(未链接),则第一个答案不会删除CSS或JavaScript标记的主体.这可能会更接近:

def stripTags(text):
  scripts = re.compile(r'<script.*?/script>')
  css = re.compile(r'<style.*?/style>')
  tags = re.compile(r'<.*?>')

  text = scripts.sub('', text)
  text = css.sub('', text)
  text = tags.sub('', text)

  return text
Run Code Online (Sandbox Code Playgroud)


Ore*_*iya 3

按照这里

def remove_html_tags(data):
     p = re.compile(r'<.*?>')
     return p.sub('', data)
Run Code Online (Sandbox Code Playgroud)

正如他在文章中指出的那样,“需要导入 re 模块才能使用正则表达式。”

  • 嗯 - 没有摆脱 javascript,只是 &lt;script&gt; 标签。内联 css 定义也是如此。 (2认同)