Python的urllib2加载有动态js的页面缺少部分js
我这边是以Django作为框架,使用urllib2这个方法来,做一个简单的反向代理工作,使用URLlib2的openurl方法来获取web服务资源,然后返回给客户端浏览器。
现在遇到的问题是,如果openurl要访问的是一个静态页面,那么客户端浏览器的显示没有问题,可是如果openurl访问的是一个复杂的(包含了很多动态js和图片)的页面,当我将urllib2.read()后的数据返回给浏览器时,就会缺失一些js信息,导致浏览器显示的页面出现问题(很明显的没有经过js处理和缺少一些css样式):
import urllib2
def ProxyApi(request):
//加载要访问的页面
response=urllib2.urlopen('http://www.douban.com')
//读取页面全部内容
html=response.read()
//返回给客户端浏览器
return httpresponse(html)
http的请求是先加载页面的主框架。然后浏览器会检测页面里面都有什么图片或者内嵌的js文本,然后会对每一个内嵌的图片和js文本进行一个个的http请求,刚开始我没有处理后续的图片和js请求,所以浏览器只能显示一个主框架的静态页面,后来我对后续的请求也都进行了处理和转发,虽然浏览器能显示大部分信息,但是和使用浏览器直接访问网页对比后,发现使用我的代理中专后的页面还是明显缺少js样式。
是不是要做代理中专不应该使用这些简单的函数,或是有什么解决方法和参考资料的希望大家帮助一下