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

Scrapy Shell返回空列表求助:无法抓取gol.gg指定页面数据

解决Scrapy抓取gol.gg页面无结果的问题

首先排查核心原因:这个网站的比赛数据是JavaScript动态渲染的,Scrapy默认抓取的是服务器返回的原始HTML,里面没有你要的内容,所以用css/xpath解析会返回空。

给你几个实用的解决步骤:

  • 先确认动态加载:在Scrapy Shell里输入response.text,然后搜索页面上可见的关键词(比如某个选手ID、比赛数据),如果搜不到,就说明数据是JS加载的。
  • 优先抓API接口:打开浏览器F12→Network→XHR/Fetch标签,刷新页面,找返回JSON格式的请求(通常URL里带api、stats或者数字ID)。找到后直接用Scrapy请求这个API地址,解析JSON数据就行,比渲染页面高效得多。
  • 用渲染工具处理动态内容:如果找不到API,就用Scrapy配合Playwright渲染JS:
    1. 安装依赖:pip install scrapy-playwright
    2. 启动带Playwright的Scrapy Shell:
      scrapy shell -s DOWNLOAD_HANDLERS='{"http": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler", "https": "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler"}' -s TWISTED_REACTOR='twisted.internet.asyncioreactor.AsyncioSelectorReactor' https://gol.gg/game/stats/43023/page-game/
      
    3. 在Shell里执行await page.content()获取渲染后的页面内容,再用css/xpath解析。
  • 检查反爬设置:Scrapy默认的User-Agent可能被拦截,启动Shell时可以指定UA:
    scrapy shell -s USER_AGENT='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' https://gol.gg/game/stats/43023/page-game/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 11:57:09