将动态页面保存为文件或网页档案
我想把一个网页保存到我的电脑上,这样即使没有网络也能打开。如果这个网页很简单,比如一些文字、几张图片和几个链接,那我没有问题。但是如果我想保存像 https://www.python.org/
这样复杂的网页,我就遇到很多关于图形的问题。
htmldata = urllib2.urlopen('https://www.python.org/').read()
f = open('myfile.html','w')
f.write(htmldata)
f.close()
我尝试过这样做:
但是当我打开我的文件时,看到的却是:

即使我尝试从网页上保存任何 img
图片(用bs4来找到它们),也只找到了一张图片,而我文件里的网页内容还是一样的。
那么我该怎么保存一个网页,以便离线打开呢?也许它不应该是一个 .html 文件,而是其他格式?
1 个回答
3
你需要在HTML中找到所有的图片、CSS和JS的链接,然后把它们下载下来,接着在HTML中把这些链接改成你电脑上文件的位置。
顺便说一下:新的链接可能需要加上file://
这个前缀。
另外,有些图片可能是在CSS或JS文件里定义的。所以你还需要在CSS和JS中找到这些链接,下载它们,并像在HTML中那样修改CSS和JS里的链接。