JS或任何其他语言挂钩加载HTML页面中的资源

时间:2010-02-23 13:14:28

标签: c# php javascript html dhtml

我想要完成的任务:

  1. HTTP获取网站内容(例如google.com)
  2. 然后使用某种钩子或过滤器来捕获此页面尝试加载的所有资源(例如CSS文件,所有JavaScript文件,所有图像,所有iframe等)
  3. 首先要记住的是解析下载的页面/代码并提取可能链接到资源的所有标记,但是它们非常多,其中一些很棘手,比如在CSS中声明的图像背景,例如:

    body {background-image:url('paper.gif');} 
    

    另外,我需要捕获所有要通过JavaScript加载的资源。例如,有一个JS函数将生成一个URL,而不是解释它来加载资源。

    出于这个原因,我认为我需要一些钩子或过滤器/监视器。

    编程语言并不重要(虽然在Unix机器上运行会很好)。

    更新:这需要是一个自动化解决方案。

    谢谢。

3 个答案:

答案 0 :(得分:1)

最简单的方法是编写Fiddler插件。

答案 1 :(得分:1)

我假设您正在寻找完全自动化的解决方案。

有几种方法可以解析文件(在所有主要的脚本语言中,基于wget,以及其他语言)但我知道的其他方法实际上解释 JavaScript(因为这就是它将要发生的事情)到了)。

我认为你唯一的选择是在你的Unix / Linux机器上设置一个Firefox(或其他现代浏览器)实例,输入一个URL并观察/阻止它尝试进行的所有传出连接。在客户端PC上,这是Firebug中“Net”选项卡的内容。在不实际重写部分浏览器的情况下,这是否可以自动化到什么程度,我不知道。也许Selenium RC或Selenium套件中的其他工具之一是一个起点。

答案 2 :(得分:0)

您始终可以设置fiddler之类的代理并查看流量 - 除了对页面的初始调用之外的任何内容都将是正在请求的其他资源。