我正在尝试从 TripAdvisor 网站上抓取评论。由于网站中的大多数图像都是动态加载的,因此我使用 Splash javascript 渲染服务来生成页面。
问题是某些图像已加载,而有些则未加载。
这是我要抓取的评论的 URL: https ://www.tripadvisor.com.sg/ShowUserReviews-g294265-d1770798-r446535418-Marina_Bay_Sands-Singapore.html
我尝试将 Splash 等待时间设置为 10 秒(最大值),结果仍然相同。
这是我在 Splash 中使用的代码:
function main(splash)
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(10))
splash:set_viewport_full()
return {
html = splash:html(),
png = splash:png(),
har = splash:har(),
}
end
这是 Splash 生成的结果图像(裁剪出的页脚部分): 点击查看图像
如您所见,除了评论中的图像(它们应该在红色矩形中)之外,所有其他动态加载图像都已加载。我检查了 html 并发现存在 img 标签,但它们的 src 属性是“.../x.gif”,这是一个像素图像,而不是真实图像的 URL。
有没有人有这样的问题或知道为什么会这样?