2017-03-02 55 views
0

我想遞歸地獲取從維基頁面鏈接的所有頁面。我已經嘗試了許多不同的wget遞歸選項,它們都具有相同的結果:只有給定URL中的html文件被下載,而不是從該html頁面鏈接的任何頁面。wget在維基頁面上遞歸失敗

如果我使用--convert-links選項,wget會將未提取的鏈接正確轉換爲正確的網頁鏈接。它只是不遞歸地下載這些鏈接的頁面。

wget --verbose -r https://wiki.gnome.org/Outreachy 
--2017-03-02 10:34:03-- https://wiki.gnome.org/Outreachy 
Resolving wiki.gnome.org (wiki.gnome.org)... 209.132.180.180, 209.132.180.168 
Connecting to wiki.gnome.org (wiki.gnome.org)|209.132.180.180|:443... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: ‘wiki.gnome.org/Outreachy’ 

wiki.gnome.org/Outreachy          [ <=>                                ] 52.80K 170KB/s in 0.3s  

2017-03-02 10:34:05 (170 KB/s) - ‘wiki.gnome.org/Outreachy’ saved [54064] 

FINISHED --2017-03-02 10:34:05-- 
Total wall clock time: 1.4s 
Downloaded: 1 files, 53K in 0.3s (170 KB/s) 

我不確定它是否失敗,因爲wiki的html鏈接不以.html結尾。我嘗試過使用--accept='[a-zA-Z0-9]+'--page-requisites--accept-regex='[a-zA-Z0-9]+'的各種組合來解決這個問題,沒有運氣。

我不確定它是否失敗,因爲wiki有像https://wiki.gnome.org/Outreachy這樣的鏈接頁面網址的網頁,例如https://wiki.gnome.org/Outreachy/Adminhttps://wiki.gnome.org/Outreachy/Admin/GettingStarted。也許wget很困惑,因爲需要一個HTML頁面和一個同名的目錄?我也嘗試使用--nd,但沒有運氣。

鏈接的html頁面都是相對於基本wiki網址(例如<a href="/Outreachy/History">Outreachy history page</a>)。我試過還加入--base="https://wiki.gnome.org/沒有運氣。

在這一點上,我已經嘗試了很多不同的wget選項,閱讀了幾個堆棧溢出和unix.stackexchange.com問題,而我嘗試過的東西都沒有工作。我希望有一個wget專家,可以看看這個特定的wiki頁面,並解釋爲什麼wget無法遞歸獲取鏈接的頁面。相同的選項在其他域中工作正常。

我也試過httrack,結果相同。我正在運行Linux,所以請不要建議Windows或專有工具。

回答

0

這似乎是由維基以下標記引起的:

<meta name="robots" content="index,nofollow"> 

如果你確定要忽略這個標籤,你可以讓wget的忽略它使用-e robots=off

wget -e robots=off --verbose -r https://wiki.gnome.org/Outreachy 
+0

謝謝!我查找了一個抓取的robots.txt,但沒有看過meta標籤。 –