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

从多URL抓取表格数据时首链接重复问题求助

问题解决:循环抓取页面重复获取第一页数据

问题原因

你定义的URL里的{count}只是静态字符串,没有在循环中替换成当前的count数值,导致每次请求的都是同一个包含{count}的原始地址。服务器识别到无效的页码参数,默认返回第一页数据,所以重复抓取了65次第一页表格。

修正方案

在循环内部,每次请求前把URL模板中的占位符替换为当前循环的count值,同时修复几个细节问题:

import requests
import pandas as pd

# 定义URL模板
url_template = 'https://basketball.realgm.com/international/stats/2023/Averages/Qualified/All/player/All/desc/{count}'

res = []

# range是左闭右开,要遍历1到65需写成range(1, 66)
for count in range(1, 66):
    # 替换模板中的{count}为当前页码
    url = url_template.format(count=count)
    html = requests.get(url).content
    df_list = pd.read_html(html)
    df = df_list[-1]
    res.append(df)
    print(f"已完成第{count}页抓取")

# 合并所有页面的数据并保存
final_df = pd.concat(res, ignore_index=True)
final_df.to_csv('my data.csv', index=False)

额外优化说明

  • 原代码range(1, 65)只会运行到count=64,无法覆盖到65页,改成range(1, 66)才能包含65
  • 原代码最后只保存了最后一次循环的df,会丢失前面64页的数据,用pd.concat合并所有DataFrame后再保存才是完整数据
  • 添加页码打印,方便跟踪抓取进度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:20:20