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

如何用Python/Selenium绕过autoscout24.de的分页限制爬取全量数据

绕过Autoscout24分页限制的可行方案
  • 细分搜索结果集
    原搜索的宝马车型结果量过大,导致分页超出20页上限。可以通过添加筛选参数拆分结果:

    • 按车型细分:在URL中加入model=3(对应3系)、model=5(对应5系)等参数,缩小单批次结果数量;
    • 按价格区间:添加pricefrom=0&priceto=10000、pricefrom=10000&priceto=20000这类参数,拆分不同价位的车辆;
    • 按年份/里程:加入yearfrom=2015&yearto=2020或mileagefrom=0&mileageto=50000参数,进一步缩小范围。
      每个细分后的结果集页数会控制在20以内,逐个爬取后合并数据即可。
  • 直接构造分页参数
    很多网站仅在前端限制分页显示,但后端并未拦截更大的page参数值。尝试直接修改URL中的分页参数:
    原URL可能包含page=1,直接将其改为page=21、page=30等,用Selenium加载该URL,检查是否能返回对应页面的内容。如果有效,就可以循环构造page参数从1到所需的总页数(60000/10=6000页)来爬取。

  • 抓取后端API接口
    打开浏览器开发者工具(F12),切换到Network面板,刷新页面后查看XHR/Fetch请求,找到加载列表数据的API接口(通常是JSON格式)。这类接口可能使用offset/limit或page/per_page参数来控制返回数据:

    • 比如找到类似/api/listings?offset=0&limit=10的接口,将offset逐步增加(0,10,20...)来获取所有数据;
    • 直接用requests库请求该接口,比Selenium效率更高,也降低被反爬检测的概率。注意要带上请求头中的Referer、User-Agent等参数,模拟浏览器请求。
  • 轮换代理与User-Agent
    如果网站通过IP或请求频率限制分页,可通过以下方式规避:

    • 代理IP池:使用第三方代理服务,每次爬取一页切换一个代理,Selenium中通过options.add_argument('--proxy-server=http://ip:port')设置;
    • 随机User-Agent:每次请求生成不同的UA字符串,Selenium中用options.add_argument(f'user-agent={random_ua}')设置;
    • 增加随机延迟:爬取每页后等待2-5秒(time.sleep(random.uniform(2,5))),模拟真实用户浏览节奏。
  • 维护会话与清理Cookies
    部分网站会通过会话记录用户行为来限制分页,可尝试:

    • 保持Selenium的浏览器会话,不要频繁关闭重启;
    • 每爬取一定页数(比如20页)后,调用driver.delete_all_cookies()并刷新页面,重新建立会话后继续爬取后续内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 22:57:36