2013-05-09 22 views
1

我試圖抓取網頁。如何從指定的URL將網頁下載到單個文件中?

我想通過提供其網址並將其保存爲離線閱讀及其所有圖像來下載網頁。我無法用wget設置它,因爲它創建了許多目錄。

這可能與wget?有沒有像FireFox中的「另存爲」選項,它會創建一個目錄並將所有必需的資源放入HTML頁面中?

是否有可能做到這一點Nokogiri或機械化?

+0

這個SO線程可能讓你開始:http://stackoverflow.com/questions/4217223/how-to-get-the-html-source-of-a-webpage-in-ruby – orde 2013-05-09 19:28:30

+0

謝謝,但它沒有說如何下載圖片。即使沒有互聯網連接,我也想下載頁面以供閱讀。 – 2013-05-09 19:51:20

+0

另一個線程:http://stackoverflow.com/questions/1074309/how-to-download-a-picture-using-ruby – orde 2013-05-09 20:13:33

回答

2

給出的鐵皮人答案做了工作。 This顯示瞭如何使用Nokogiri以非常乾淨的目錄結構下載具有圖片的單頁以供離線閱讀。

2

你可以使用wget來做到這一點,並從你的ruby腳本中運行它。

下面是一個例子,它將翻錄我的網站skrimp.ly的主頁,並將內容放到一個名爲「download」的目錄中。一切都會在頂層和嵌入在HTML中的鏈接將被改寫爲本地:

wget -E -H -k -K -p -nH -nd -Pdownload -e robots=off http://skrimp.ly

注意:您要籤一些文件的wget的。它可以做一些非常瘋狂的事情,比如下多層次。如果你這樣做,請謹慎 - 在網絡服務器上可能會相當繁重,並且在某些情況下會給網站管理員花費很多$$$$。

http://www.gnu.org/software/wget/manual/html_node/Advanced-Usage.html#Advanced-Usage

+0

我試過這個命令。當我從互聯網斷開連接並嘗試打開下載的shtml時,圖像被重新加載。所以我做了這個: wget -p --convert-links -nH -nd -Pdownloads http://www.bbc.co.uk/persian /world/2013/05/130509_an_buddhist_monks_attack_muslims.shtml 它使用三個文件創建「下載」目錄:1-html文件,2 bump?emp =全球,3-robots.txt – 2013-05-10 03:57:27

+0

嘗試使用您發佈的bbc網址更新命令。 – 2013-05-10 06:37:52

+0

編號,現在可以使用。謝謝 – 2013-05-10 15:30:42

相關問題