以编程方式从HTML / JavaScript捕获HTTP / S调用

时间:2015-03-07 16:29:12

标签: http ssl urllib2 python-requests

采用一些基本的HTML和JavaScript,例如

<img src="http://example.com?a=1" />
<script type="text/javascript"
   src="http://example.net/script.js"
</script> 

肯定有2个HTTP请求,一个用于img(example.com?a=1),另一个用于某些JavaScript(example.net/script.js)。

但是,example.net/script.js可能会返回一些发出另一个请求的JavaScript:

document.write("<script src='http://example.org/script.js'></script>")

这将导致向http://example.org/script.js发送第三个http请求。

在Python中执行此操作的一种相当天真的尝试看起来像:

  1. 以原始HTML / JavaScript提取所有网址。
  2. 对于每个网址,请使用urllib2.urlopen(网址)
  3. 打开
  4. 检查更多网址的响应,并使用urllib2.urlopen(网址)
  5. 打开

    当然,这并不允许只有一次呈现的JavaScript构建一个有效的URL并发出HTTP请求。

    然后我考虑使用某种webkit引擎来首先呈现每个HTTP请求的响应,提取URL并使用urllib2.urlopen(url)打开。

    这似乎是非常重要和复杂的。有更简单的方法吗?

0 个答案:

没有答案