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

Scrapy shell中下一页链接的CSS selector返回空列表问题求助

Scrapy抓取book24.ru下一页链接空返回解决方案

问题原因排查步骤

  • 首先确认静态响应是否包含目标DOM,在Scrapy Shell中执行以下命令验证:
    print("pagination__button-item" in response.text)
  • 如果返回False,说明分页元素是前端JavaScript动态渲染的,初始请求返回的静态HTML不存在对应结构,所以CSS选择器无法匹配到内容,这也是这类站点最常见的问题。
  • 如果返回True,说明是选择器写法有误,调整选择器规则即可。

对应解决方法

情况1:分页动态渲染(最常见)

优先选择接口抓包方案,性能更高不需要额外依赖:

  • 打开浏览器开发者工具的「网络」面板,筛选XHR/ fetch请求,点击页面上的下一页按钮,观察触发的分页请求
  • 通常这类列表翻页请求会携带page参数,直接按照参数规则构造下一页请求URL即可,不需要解析页面元素。
    如果必须解析页面元素获取链接,可以集成JS渲染工具:
  • 安装scrapy-playwright依赖,配置Scrapy请求时开启JS渲染,等待页面元素加载完成后再执行选择器匹配,即可正常获取到下一页链接。

情况2:选择器写法有误

可以调整CSS选择器或者改用Xpath匹配,容错性更高:
response.xpath('//li[contains(@class,"pagination__button-item") and contains(@class,"_next")]//a/@href').get()


内容的提问来源于stack exchange,提问作者Полина Ужвак

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:57:02