一.需求
获取页面上静态资源。
二.实现思路:
实现需求的核心问题是如何获取相关资源的url。因为页面上的资源包括随页面一起加载的资源也包括通过js动态生成的资源,对于随页面一起加载的资源比较容易获取,只要解析出对应的url就能在将资源下载到本地。还有一部分资源是通过js动态加载的,对于这部分资源是比较难解决的,通过查找资料,可以通过phantomjs模拟浏览器内核,截获所有发出去的资源url。以下是测试代码以及结果截图:
通过与实际浏览器比较,可以发现css js 图片的url都能截获到,但是对于vedio和audio加载的资源是无法截取到的,以下是phantomjs的解释:
http://phantomjs.org/tips-and-tricks.html
三 结论:想通过phantomjs获取页面所有资源的url还有一定缺陷,需要对audio和vedio的资源进行单独处理。