2014-07-26 168 views
0

我想將頁面保存在我的磁盤上(甚至可以脫機打開它)。如果頁面非常基本:一些文字,圖片少,鏈接少等。我沒有問題。但如果我想保存一個像https://www.python.org/這樣的頁面,我對grpahics有很多問題。 我嘗試:將動態頁面保存到文件或網絡存檔

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文件,但別的?

回答

2

您必須在HTML中找到所有圖像,CSS,js的URL並下載它們,然後更改HTML中的ulrs並在磁盤上設置文件位置。

BTW:也許新的網址需要file://前綴。

順便說一句:有些圖像可以在CSS或JS文件中定義。因此,您需要在CSS和JS中找到網址,然後下載它們,然後像​​在HTML中一樣更改CSS和JS中的網址。

+0

@furus但我該如何改變這個網址 - 我應該讓它們成爲相對路徑或其他東西?如果我能找到所有元素,請下載它們,那麼我需要在html中更改該網址,我將保存該網址?你可以舉一個例子(它可以是一個完全隨機或組成的例子) – Ziva

+1

在瀏覽器中使用'Save page as',看看它如何改變HTML文件中的URL。你將不得不這樣做。 – furas

+0

如果您將圖像保存在HTML文件所在的文件夾中,則可以使用'src =「image.jpg」'。如果你下載到'subfolder',那麼你需要'src =「subfolder/image.jpg'。我不記得你是否需要添加'file://'前綴 - 'src =」file://image.jpg '和'src =「file:// subfolder/image.jpg' – furas