Beautifulsoup, найдите единственный тег в HTM, который не имеет атрибута - PullRequest
1 голос
/ 01 апреля 2020

Я знаю ... из названия этот ответ кажется таким же, о тысяч других. НО я все еще искал все связанные и похожие вопросы. Что я спрашиваю, так это html (просто пример):

<html>

<body>
    <div class="div-share noprint">
        <div class="addthis_toolbox addthis_default_style">
            <a class="btn btn-xs btn-share addthis_button_facebook" href="https://somelink" target="_blank">
                <span class="playblk"><img alt="someimg" class="playblk" height="25" src="some source" title="sometitle" width="25"/></span>
            </a>
            <a class="btn btn-xs btn-share addthis_button_facebook" href="https://somelink" target="_blank">
                <span class="playblk"><img alt="someimg" class="playblk" height="25" src="some source" title="sometitle" width="25"/></span>
            </a>
        </div>
    </div>
    <div class="addthis_toolbox addthis_default_style">
        <a class="btn btn-xs btn-share addthis_button_facebook" href="https://somelink" target="_blank">
            <span class="playblk"><img alt="some img" class="playblk" height="25" src="othersource" title="some othertitle" width="25"/></span>
        </a>
    </div>
    <div class="div-share">
        <h1>"The Divine Wings Of Tragedy" lyrics</h1></div>,
    <div class="pther">
        <h2><b>Symphony X Lyrics</b></h2>
    </div>
    <div class="ringtone">
        <span id="cf_text_top"></span>
    </div>
    <div>
        <i>[Part I - At the Four Corners of the Earth]</i>
        <br/>
        <br/> On the edge of paradise
        <br/> Tears of woe fall, cold as ice
        <br/> Hear my cry
        <br/>
    </div>
</body>

</html>

Я хочу найти единственный тег, который не имеет атрибутов. Не empy attr, как я видел в других вопросах, или странный атрибут speci c, или attrs = None ... этот тег больше ничего не имеет. Но если я использую findAll, я найду все остальные теги в html. то же самое, если я использую attrs = False, attrs = None и т. д.,

так есть ли возможность?

спасибо большое!

1 Ответ

0 голосов
/ 01 апреля 2020

Вы можете передать лямбда-функцию методу find_all, который проверяет имя тега и что в элементе нет атрибутов:

soup.find_all(<b>lambda tag: tag.name == 'div' and not tag.attrs</b>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...