2024-09-26 17:50:52 发布
网友
如果您有一个BS对象,例如:
>>> print soup <div> Peter Griffin <br> Lois Griffin <br> Chris Griffin <br> <div> Meg Griffin </div> <br> Stewie Griffin <br> <div>
您如何打印soup.text而不包括内部<div>内的所有内容?在
soup.text
<div>
我想要的输出是:
干杯!在
使用一个构建在Python stdlib模块上的类。。。在
from HTMLParser import HTMLParser class HTML_tag_stripper(HTMLParser): def __init__(self): self.reset() self.fed = [] def handle_data(self, d): self.fed.append(d) def get_data(self): return ''.join(self.fed) def strip_tags(html): s = HTML_tag_stripper() s.feed(html) return s.get_data() >>> print strip_tags( str(soup) )
一个选项可以是删除内部<div>标记,并在删除多余空格后打印soup的文本:
soup
for tag in soup.select('div div'): tag.clear() print('\n'.join(re.split(r'\s*\n+\s*', soup.text.strip())))
它产生:
使用一个构建在Python stdlib模块上的类。。。在
一个选项可以是删除内部
<div>
标记,并在删除多余空格后打印soup
的文本:它产生:
^{pr2}$相关问题 更多 >
编程相关推荐