【问题标题】:get all links from one node in HTML从 HTML 中的一个节点获取所有链接
【发布时间】:2018-06-09 04:48:07
【问题描述】:

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

<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>

我想要来自“data-vc-node-id="10"”的所有链接,我正试图让他们做类似的事情:

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

当然,我没有从中得到任何东西:/

我怎样才能得到它们?

谢谢!

【问题讨论】:

  • 不是 node.js 问题。
  • href "C" 属性不正确。错字?

标签: python html beautifulsoup href


【解决方案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>

【讨论】:

  • 感谢您的回答!但是有了这个我只得到第一个:( 是否可以只得到'A','B','C'?这些链接准确且只有
  • @JoelSánchezLópez,我已经对您的输入进行了测试,它工作正常(在 Python 3.5 上)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 1970-01-01
  • 2014-03-14
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多