如何部署asp.net核心应用程序以在没有VM机的情况下与无头浏览器一起使用?

时间:2019-01-03 11:38:17

标签: c# asp.net swagger selenium-chromedriver azure-web-sites

我在asp.net核心中有一个应用程序,其中使用了硒chromewebdriver。此应用程序用于Web抓取,该抓取在我的本地IIS Express上很麻烦。我的问题是,我想在Azure上部署此应用程序,以便可以运行无头chrome浏览器。我设法做到了,但是我遇到了一个错误:

“未知错误:找不到Chrome二进制文件”

所以我提取了铬,但没有帮助,另一个错误:

”未知错误:无法创建Chrome进程。   (驱动程序信息:chromedriver = 2.45.615291(ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform = Windows NT 10.0.14393 x86_64)“

我听说过Azure WebJobs,但是它限制为50MB。

有可能吗?

2 个答案:

答案 0 :(得分:0)

不,不可能做。您的问题与我下面回答的其他SO线程类似。

  1. Headless browser in Azure functions JavaScript?
  2. Can I use phantomJS on Azure app service for linux?

InfoQ有一篇新文章Headless Selenium Browsers,它比较了无头浏览器的5个选项,其中包括Chrome Driver首先需要安装Chrome。但是,关于Win32k.sys (User32/GDI32) Restrictions的Azure Web App沙箱有一个限制。因此,任何需要GDI支持的库都无法在Azure WebApp上运行,甚至包括JBrowser要求libpng & libgd2

因此,使用VM运行无头浏览器是Azure上唯一的一种解决方案。

答案 1 :(得分:-1)

您是否尝试过Html Agility Pack进行抓取?