我试图以递归方式获取从Moin wiki页面链接的所有页面。我尝试了许多不同的wget递归选项,它们都有相同的结果:只下载给定URL的html文件,而不是从该html页面链接的任何页面。
如果我使用--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
这样的html网页链接了https://wiki.gnome.org/Outreachy/Admin
和https://wiki.gnome.org/Outreachy/Admin/GettingStarted
等网页网址。也许wget很困惑,因为需要一个HTML页面和一个同名的目录?我也尝试使用--nd
,但没有运气。
链接的html页面都与基本wiki URL相关(例如<a href="/Outreachy/History">Outreachy history page</a>
)。我还尝试添加--base="https://wiki.gnome.org/
而没有运气。
此时,我已经尝试了很多不同的wget选项,阅读了几个堆栈溢出和unix.stackexchange.com问题,并且我尝试过的任何工作都没有。我希望有一位wget专家可以查看这个特定的wiki页面,并说明为什么wget无法递归地获取链接页面。相同的选项在其他域上运行良好。
我也试过httrack,结果相同。我正在运行Linux,所以请不要建议使用Windows或专有工具。
答案 0 :(得分:0)
这似乎是由wiki中的以下标记引起的:
<meta name="robots" content="index,nofollow">
如果您确定要忽略该标记,可以使用-e robots=off
使wget忽略它:
wget -e robots=off --verbose -r https://wiki.gnome.org/Outreachy