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

Python爬取Autotrader网站时缺失pagination元素问题求助

问题原因与解决办法

核心原因

  • 动态内容未渲染:Autotrader的分页元素是通过JavaScript动态生成的,如果你用的是requests+BeautifulSoup这类仅抓取静态HTML的工具,它们不会执行页面中的JS代码,静态HTML里根本不存在data-cmp="cntnr-pagination"这个分页容器,所以你代码里的pagination_container = content.find('div', {'data-cmp': 'cntnr-pagination'})才会返回None。
  • 反爬策略拦截:网站可能识别出你的请求来自自动化程序,而非真实浏览器,因此返回了简化版的页面内容,故意隐藏了分页等元素。常见的检测点包括请求头(如User-Agent)、Cookie、是否有浏览器环境特征。
  • 会话状态不一致:手动访问时浏览器会维护会话信息(如Cookie),而你的程序可能没有复用会话或携带必要的会话数据,导致服务器返回的页面内容与手动访问不同。

解决建议

  • 使用支持JS渲染的工具:替换为Selenium、Playwright这类模拟真实浏览器的工具,它们会完整执行页面JS,能获取到和手动访问一致的页面内容,包括分页元素。
  • 完善请求头配置:将请求的User-Agent设置为真实浏览器的标识(比如Chrome的UA:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36),同时可以从浏览器中复制当前会话的Cookie添加到请求中。
  • 直接抓取API接口:打开浏览器开发者工具(F12),切换到Network标签,手动翻页时观察XHR/fetch请求,找到分页数据的API接口,直接请求该接口获取分页信息,这种方式比解析HTML更高效可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:40:06