所以我正在开发一个项目来抓取一个网站并将数据传递给用户,但是我正在使用带有python/flask的selenium/selenium网络驱动程序。我本来打算使用美汤,但是我正在抓取的网站需要页面上的一些交互。
我有一切工作与刮刀,我只是想找出一种方法,使这项工作普遍,如果我想在网站上使用的服务,如heroku托管这项服务。
目前Selenium正在打开chrome浏览器并以这种方式浏览页面。有没有一种智能的方法可以在不打开浏览器的情况下做到这一点,并且在使用某些服务托管时可以无缝工作?
您可以为您的驱动程序使用“--head less”参数。
该参数将完成这项工作,但无需打开实际浏览器。
例子:
chrome_options = Options()
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(r"drivers/chromedriver.exe",options=chrome_options)
查看本教程:https://youtu.be/Ven-pqwk3ec.它展示了如何在Heroku上设置selenium。对于您的后端,您可能希望使用celery在特定时间运行脚本。或者,如果您希望它由用户交互触发,您也可以使用celery执行此异步任务