0

我正在尝试以递归方式获取从 Moin wiki 页面链接的所有页面。我尝试了许多不同的 wget 递归选项,它们都具有相同的结果:仅下载给定 URL 中的 html 文件,而不是从该 html 页面链接的任何页面。

如果我使用该--convert-links选项,wget 会正确地将未获取的链接转换为正确的 Web 链接。它只是不会递归下载那些链接的页面。

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链接页面 URL 之类的 html 页面https://wiki.gnome.org/Outreachy/Adminhttps://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 或专有工具。

4

1 回答 1

0

这似乎是由 wiki 中的以下标记引起的:

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

如果您确定要忽略标签,可以使用 wget 忽略它-e robots=off

wget -e robots=off --verbose -r https://wiki.gnome.org/Outreachy
于 2017-03-03T00:56:56.533 回答