【发布时间】:2025-11-27 06:20:03
【问题描述】:
我对 Splash 很陌生,虽然我能够在我的 Ubuntu 18 上(通过 Splash/Docker)设置 Splash,但它给了我这个页面不同的结果: https://www.overstock.com/Home-Garden/Area-Rugs/31446/subcat.html
但是当我尝试在 Splash 中渲染它时,它会像这样渲染它:
我已尝试将 Splash 中的用户代理更改为:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
因此,这使得 Splash 脚本如下:
function main(splash, args)
splash:set_user_agent(
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36'
)
assert(splash:go(args.url))
assert(splash:wait(0.5))
return {
html = splash:html(),
png = splash:png(),
har = splash:har(),
}
end
然而,尽管添加了这些,它仍然无法呈现页面。
如何让 Splash 呈现此页面?
【问题讨论】:
-
如果你想要一个快速的解决方案,使用 scrapy-selenium,docker splash 已经过时了。如果你想飞溅,你必须手动安装并修改它
-
@wishmaster,你的意思是把scrapy-selenium和Splash放在同一个docker中吗?
-
如果你使用 selenium (scrapy-selenium),则根本不需要飞溅
标签: web-scraping scrapy screen-scraping scrapy-splash splash-js-render