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

Python网页爬虫如何用while循环提取列表奇数索引内容

实现方案

方法1:按需求使用while循环实现

find_all返回的匹配结果是可索引的序列结构,你可以直接基于序列长度控制循环边界,初始索引设为1(对应第一个奇数位,Python为0基索引),每次步长加2即可自动跳过偶数索引,无需手动逐个写索引值。
完整可运行代码如下:

import bs4
from bs4 import BeautifulSoup
import requests
import lxml

# 注意:原代码中requests.get的第二个参数'r'属于错误传参,此处已删除
vegas_insider = requests.get('https://www.vegasinsider.com/nfl/matchups/').text
soup = BeautifulSoup(vegas_insider, 'lxml')

# 先拿到所有匹配的元素列表
team_list = soup.find_all('a', class_ = 'tableText')
# 初始化奇数索引起始值
index = 1
# 循环条件设置为索引小于列表总长度,避免下标越界
while index < len(team_list):
    team = team_list[index].text
    print(team)
    # 步长设为2,直接跳到下一个奇数索引
    index += 2

方法2:更简洁的切片实现(可选)

Python原生支持序列切片语法[起始索引:结束索引:步长],直接使用[1::2]即可提取所有奇数索引的元素,无需手动控制循环变量,写法更简洁:

# 承接上述代码获取到team_list之后,直接遍历切片结果即可
for team in team_list[1::2]:
    print(team.text)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:06:04