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

如何抓取点击网页按钮后触发的REST请求数据 以LeetCode竞赛代码爬取为例

解决方案

方案1:直接调用接口获取所有提交ID(效率最高)

你要找的submission id没有直接写在静态HTML里,是页面加载完成后通过接口异步拉取的排名数据里携带的:

  • 打开浏览器开发者工具的「网络」面板,筛选Fetch/XHR类型的请求,刷新排名页可以找到操作名为contestRankingData的GraphQL接口,返回的JSON数据中data.contestRankingData.submissions字段下就包含了当前页所有用户每道题对应的submission_id
  • 把所有ID提取出来之后,循环请求你已经找到的https://leetcode.com/api/submissions/{submission_id}/接口,就能拿到对应代码,从返回JSON的code字段提取内容保存到本地即可

方案2:模拟浏览器操作(门槛最低,适合新手)

不需要研究接口和ID逻辑,直接用自动化模拟浏览器工具实现:

  • 用Playwright或者Selenium打开目标排名页,等待页面完全渲染完成
  • 定位页面上所有的文件按钮,循环模拟点击每个按钮,等待弹窗加载完成后直接提取弹窗里的代码内容
  • 提取完成后关闭弹窗再点击下一个按钮,直到所有代码都提取完毕
注意事项
  • 控制请求/点击频率,每次操作间隔至少1秒,避免触发力扣反爬规则被封IP
  • 调用接口时建议带上你浏览器的User-Agent和登录后的Cookie,未登录状态下的请求限制更严格,很容易返回403错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:03