我只是在用splash探索scrapy,我正在尝试从电子商务网站的 差距之一中抓取所有带有productid、名称和价格的产品(裤子)数据,但是当我看到时我没有看到加载的所有动态产品数据从splash web UI splash web UI(每个请求只加载16个项目 - 不知道为什么)我尝试了以下选项但没有运气
- 将等待时间增加到 20 秒
- 通过使用“ --disable-private-mode ”启动 docker
- 通过使用 lua_script 进行页面滚动
- 带有视图报告完整选项splash:set_viewport_full()
lua_script2 = """ function main(splash)
local num_scrolls = 10
local scroll_delay = 2.0
local scroll_to = splash:jsfunc("window.scrollTo")
local get_body_height = splash:jsfunc(
"function() {return document.body.scrollHeight;}"
)
assert(splash:go(splash.args.url))
splash:wait(splash.args.wait)
for _ = 1, num_scrolls do
scroll_to(0, get_body_height())
splash:wait(scroll_delay)
end
return splash:html()
end"""
yield SplashRequest(
url,
self.parse_product_contents,
endpoint='execute',
args={
'lua_source': lua_script2,
'wait': 5,
}
)
任何人都可以对这种行为有所了解吗?ps:我正在使用scrapy框架,我能够从render.html解析产品信息(商品名称、名称和价格)(但render.html只有16个商品信息)