我尝试使用phantomjs,但显然不受支持,有没有办法使用javascript中的azure函数来抓取网站?
答案 0 :(得分:1)
Azure App Service(包括WebApps,Functions Apps)有很多限制,例如Win32k.sys (User32/GDI32) Restrictions。因此,Azure App Service不支持某些程序包,例如,需要PhantomJS / puppteer来启动无头浏览器,该浏览器需要GDI支持才能与javascript / nodejs进行通信以获取DOM节点。
您可以通过Function App中的节点http.ClientRequest
或Request包来抓取静态网页或仅抓取HTML。如果要动态抓取网页的DOM节点,则唯一的方法是在Azure VM上使用PhantomJS / puppteer,而不是Function Apps。