我需要抓一个javascript渲染的AngularJS应用程序的网页。该站点的开发人员以隐私浏览模式检测Safari / Firefox并禁止使用它,因此被删除。当您不处于私人模式时,该页面适用于Safari / Firefox。
有趣的是,无论是否处于私人模式,使用Chrome时都不会发出此类警告。我正在使用Scrapy + Selenium,但我真的希望在这个项目中使用ScrapyJS / Splash。然而,看起来Scrapy / Splash组合受到网站私人浏览墙的影响。
是否可以告诉Scrapy使用Chrome?我知道Selenium有很多驱动程序,并且有关如何使用每个驱动程序的详细记录,但我无法找到有关Scrapy是否支持其他浏览器或其他人是否已经这样做的任何信息。 Google / SO搜索对我来说根本没有明白这一点。
答案 0 :(得分:3)
Starting from Splash 2.0,您可以禁用私人模式(默认为“开启”)。
有两种方法可以解决这个问题:
在启动时使用--disable-private-mode参数,例如,如果您使用的是Docker:
$ sudo docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash --disable-private-mode
在运行时使用/execute
端点并设置splash.private_mode_enabled=false
另外,请注意禁用私人模式的效果:
请注意,如果禁用私密模式,浏览数据(如Cookie)或保留在本地存储中的项目可能会在请求之间保留。