Я хочу найти содержимое HTML-тегов без тегов , за исключением для тегов внутри <div id="nav">
Например, со следующим 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"), но он идет внутри него.Пожалуйста, помогите !!