我想找到除了内<div id="nav">
如何获得免费的HTML内容的非div标签
举例而言,所有标签的免费的HTML内容的标签,具有以下HTML:
<div id="nav">
<h1>Navigate!</h1>
<nav role="navigation">
<h2 class="structural">Main navigation</h2>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
</ul>
</nav>
<div id="inside_nav">
<ul>
<li><a href="/">inside_home</a></li>
<li><a href="/about/">inside_About</a></li>
</ul>
</div>
</div>
代码:
div = soup1.find("div", id="nav")
def match_only_non_divs(tag):
return (tag.findParent("div").get('id') == div.get('id')) and tag.name != "div"
print div.findAll(match_only_non_divs, text=True)
此代码应输出:
[u'\n', u'Navigate!', u'Main navigation',
u'Home', u'About', u'\n']
但是!它实际上是输出:
[u'\n', u'Navigate!', u'Main navigation',
u'Home', u'About', u'\n',
u'inside_home', u'inside_About', u'\n']
的代码不应该走内部的div内(ID =“inside_nav”),但它是内部的准备。 请帮忙!!你
谢谢约翰! – Jamal
不客气。 –