示例代码:

<ol class="mb-15 reg searchCenterMiddle">
    <li class="first">
        aaaa
    </li>
    <li>
        <div class="dd algo algo-sr fst SrQkLnk" data-d78="61251262bd900">

            <ul class="fl-l ml-20 w-251">
                <li class="mb-12"><a>News</a>
                    <p><span class=" h-33 d-b">Visit</span>
                    </p>
                </li>
            </ul>
        </div>

    </li>
    <li>

    </li>
    <li>

    </li>
    <li>
        <div class="dd Video" style="margin-bottom:10px" data-d78="61251262be777">
            <div> ideos for <b>Bbc</b></div>
        </div>
        <ul class="compImageList  compImageListGrid" style="width:588px">
            <li class="mt-2 ml-0 mr-2 ov-v mb-13 pos-br" style="width:144px;">
                <div> ideos for <b>Bbc</b></div>
            </li>
        </ul>
    </li>
</ol>

需求

提取ol下子节点li

原始代码

soup = BeautifulSoup(, "lxml")
ol_ele = soup.find("ol", {"class": "mb-15 reg searchCenterMiddle"})

ol_ele.find_all('li')

该写法直接把ol标签下所有li标签都找出来,不符合需求。

解决代码

soup = BeautifulSoup(, "lxml")
ol_ele = soup.find("ol", {"class": "mb-15 reg searchCenterMiddle"})

for i, li_ele in enumerate(ol_ele.children):
    print(li_ele)

文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#contents-and-children

本文地址: http://chenxm.cc/article/1262.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: AttributeError: module 'matplotlib' has no attribute 'verbose'
下一篇: python flickr api模块
发表评论

还没有留言,还不快点抢沙发?