beautifulsoap如何只获取特定范围的<a>link

新手上路,请多包涵

练习爬取 billibili 的页面,在该页面的<ul>中,包含了100个<li>,每个<li></li>的内容如下

<li>
    <div class="rank-item">
        <div class="num">1</div>
        <div class="content clearfix">
            <a href="/video/av16568807/" target="_blank">
                <div class="preview"><img data-img="" src="//i1.hdslb.com/bfs/archive/aaac671f55f8fce8a8a9f87a57ca71d32e8ffdf6.jpg@.webp" loaded="loaded" style="opacity: 0.9879;" /></div>
            </a><i class="watch-later" aid="16568807"></i>
            <div class="info info-border">
                <a href="/video/av16568807/" target="_blank">
                    <div class="title">小猪佩奇:你吹你MMP你吹</div>
                </a>
                <div class="detail"><span class="data-box play"><i class="b-icon b-icon-v-play"></i>26.8万</span><span class="data-box dm"><i class="b-icon b-icon-v-dm"></i>1119</span><a href="//space.bilibili.com/548824" target="_blank"><span class="data-box author"><i class="b-icon b-icon-v-author"></i>鸡鸡·夫斯基</span></a></div>
                <div class="pts" title="综合评分">
                    <div>666386</div>综合评分</div>
            </div>
            <div class="other">
                <p><a href="/video/av16833578" target="_blank">小猪佩奇第三弹:我捡你MMP我捡</a><span>综合评分</span><strong>286673</strong></p>
                <p><a href="/video/av16713556" target="_blank">小猪佩奇第二弹:你跳你MMP你跳</a><span>综合评分</span><strong>178434</strong></p>
            </div><a class="more-data">显示UP主全部上榜视频<i></i></a></div>
    </div>
</li>

现在只想获取每个 li 标签下的第一个<a>标签
在这里,我只需要<a href="/video/av16568807/" target="_blank">这个链接中的 href,后面的链接暂时不需要,请问应该如何做?
如果直接find_all('a')的话,会出现很多无效或者重复的链接

阅读 2.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进