You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用BeautifulSoup爬取div内p标签时如何跳过前x个输出剩余内容

解决方案

你可以直接利用BeautifulSoup中find_all返回结果支持列表切片的特性,同时先定位到目标div再提取下属p标签,避免匹配到页面其他无关p元素,修改后代码如下:

from bs4 import BeautifulSoup

data = '''<div class="one">
    <p style="color:red">Dummy Text</p>
    <p style="color:red">Unwanted Text</p>
    <p style="color:red">No Text</p>
    <p style="color:red">Lorem ipsum dolor sit amet</p>
    <p style="color:red">sed do eiusmod tempor incididunt</p>
    <p style="color:red">consectetur adipiscing elit</p>
    <p style="color:red">ut labore et dolore magna</p>
</div>'''

soup = BeautifulSoup(data, 'html.parser')
# 先定位class为one的div,再提取所有p标签,切片跳过前3个
target_p = soup.find('div', class_='one').find_all('p')[3:]
for result in target_p:
    print(result.get_text())

如果后续需要更灵活的索引判断逻辑,也可以用enumerate遍历加条件过滤:

for idx, result in enumerate(soup.find('div', class_='one').find_all('p')):
    # 索引从0开始,大于等于3即从第4个p标签开始输出
    if idx >= 3:
        print(result.get_text())

两种写法运行后都可以得到你期望的输出:

  • Lorem ipsum dolor sit amet
  • sed do eiusmod tempor incididunt
  • consectetur adipiscing elit
  • ut labore et dolore magna

内容的提问来源于stack exchange,提问作者user16748482

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:30:02