Python打开网页并另存为静态html怎么实现

当前网页中包含有Javascript动态生成网页的内容,想要将当前网页的所有内容及格式保存为静态的html,如何实现?
Python目前能实现保存网页,但是是保存原网页的源码,未能实现将所有内容及格式保存为静态html。

用Python的requests库解决这个问题比较简单,例程如下:


import sys
import requests

reload(sys)
sys.setdefaultencoding('utf-8')

r=requests.get('xxx网址')
fh=open('test.html','w')
fh.write(r.text)
fh.close()


说明一下,requests库不是Python内置的,不过很流行,很多发行版都带,没带的话就去requests官网去下载,或者用 pip install requests命令安装最新版。


这个程序里在保存文件前,还需要把字符编码设置一下,用的是自带的sys库。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-16
网页上的JS是在浏览器中解释执行和渲染的,python无法解释JS代码,因此无法直接获取结果,目前倒是有一些第三方的库允许在python中执行js代码,但用于网页解析比较麻烦

你可以考虑使用pywin32这个库,调用pywin32在内存中控制IE打开你需要访问的页面,然后获取结果本回答被网友采纳
相似回答