在Python中从字符串中剥离HTML
from mechanize import Browserbr = Browser()
br.open('http://somewebpage')
html = br.response().readlines()
for line in html:
print line
当在HTML文件中打印一行时,我试图找到一种仅显示每个HTML元素的内容而不显示格式本身的方法。如果找到'<a
href="whatever.com">some text</a>',它将仅打印“某些文本”,'<b>hello</b>'
打印“
hello”,等等。如何去做呢?
回答:
我一直使用此函数来剥离HTML标记,因为它仅需要Python stdlib:
对于Python 3:
from io import StringIOfrom html.parser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
super().__init__()
self.reset()
self.strict = False
self.convert_charrefs= True
self.text = StringIO()
def handle_data(self, d):
self.text.write(d)
def get_data(self):
return self.text.getvalue()
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
对于Python 2:
from HTMLParser import HTMLParserfrom StringIO import StringIO
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.text = StringIO()
def handle_data(self, d):
self.text.write(d)
def get_data(self):
return self.text.getvalue()
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
以上是 在Python中从字符串中剥离HTML 的全部内容, 来源链接: utcz.com/qa/397610.html