我想在使用scrapy和selenium进行刮擦时禁用JavaScript。 这样做的动机是提高刮削速度。我发现了对Firefox驱动程序的偏好,但没有找到PhantomJS。
firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("javascript.enabled", False)
driver = webdriver.Firefox(firefox_profile=firefox_profile)
driver.get('http://www.quora.com/')
如何为PhantomJS webdriver做到这一点?
答案 0 :(得分:7)
PhantomJS中的WebDriver协议是一个纯JavaScript实现,称为Ghostdriver。它大量使用page.evaluate()
来访问DOM,实际上没有其他方法可以访问DOM,与页面交互或使用PhantomJS做任何有意义的事情。你不应该这样做。
如果您仍想继续使用它,这应该有效:
cap = webdriver.DesiredCapabilities.PHANTOMJS
cap["phantomjs.page.settings.javascriptEnabled"] = False
driver = webdriver.PhantomJS(desired_capabilities=cap)
答案 1 :(得分:0)
如果该网站不需要JavaScript,只需单独使用scrapy即可。不需要硒。对于非JavaScript页面,Scrapy非常快。