从HTML

时间:2017-12-28 16:19:35

标签: python html beautifulsoup href

我试图获取链接到一个节点的所有链接,其结构如下:

<li class="" data-vc-node-id="10"><span><i></i></span>
    <a href="A" ><i></i><span></span></a>
    <div>
        <ul>
            <li>
                <div>
                    <ul>
                        <li>
                            <a href="B"></a>

                        </li>                   
                        <li>
                            <a href "C"></a>
                        </li>
                        <li>
                            <a href="D"></a>
                        </li>
                    </ul>
                </div>
            </li>       
        </ul>
    </div>
</li>

我想要来自&#34; data-vc-node-id =&#34; 10&#34; &#34;的所有链接我试图让他们做类似的事情:

for tag in soup.findAll('data-vc-node-id="10"',href=True):
   print tag    

但当然,我从中得不到任何结果:/

我怎样才能得到它们?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用BeautifulSoup.select()方法:

...
for el in soup.select('li[data-vc-node-id="10"] a'):
    print(el)

输出:

<a href="A"><i></i><span></span></a>
<a href="B"></a>
<a href="C"></a>
<a href="D"></a>