将动态页面保存为文件或网页档案

0 投票
1 回答
805 浏览
提问于 2025-04-18 14:54

我想把一个网页保存到我的电脑上,这样即使没有网络也能打开。如果这个网页很简单,比如一些文字、几张图片和几个链接,那我没有问题。但是如果我想保存像 https://www.python.org/ 这样复杂的网页,我就遇到很多关于图形的问题。

htmldata = urllib2.urlopen('https://www.python.org/').read()
f = open('myfile.html','w')
f.write(htmldata)
f.close()

我尝试过这样做:

但是当我打开我的文件时,看到的却是:

enter image description here

即使我尝试从网页上保存任何 img 图片(用bs4来找到它们),也只找到了一张图片,而我文件里的网页内容还是一样的。

那么我该怎么保存一个网页,以便离线打开呢?也许它不应该是一个 .html 文件,而是其他格式?

1 个回答

3

你需要在HTML中找到所有的图片、CSS和JS的链接,然后把它们下载下来,接着在HTML中把这些链接改成你电脑上文件的位置。

顺便说一下:新的链接可能需要加上file://这个前缀。

另外,有些图片可能是在CSS或JS文件里定义的。所以你还需要在CSS和JS中找到这些链接,下载它们,并像在HTML中那样修改CSS和JS里的链接。

撰写回答