采用一些基本的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中执行此操作的一种相当天真的尝试看起来像:
当然,这并不允许只有一次呈现的JavaScript构建一个有效的URL并发出HTTP请求。
然后我考虑使用某种webkit引擎来首先呈现每个HTTP请求的响应,提取URL并使用urllib2.urlopen(url)
打开。
这似乎是非常重要和复杂的。有更简单的方法吗?