Wget рекурсивный сбой на вики-страницах
Я пытаюсь рекурсивно получить все страницы, ссылки на которые есть на моей вики-странице. Я пробовал много разных рекурсивных опций wget, которые все имеют один и тот же результат: загружается только html-файл с данного URL-адреса, а не все страницы, связанные с этой 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)
Я не уверен, что это терпит неудачу, потому что html-ссылки в вики не заканчиваются на.html. Я пытался использовать различные комбинации --accept='[a-zA-Z0-9]+'
, --page-requisites
, а также --accept-regex='[a-zA-Z0-9]+'
чтобы обойти это, не повезло.
Я не уверен, что это не удается, потому что в вики есть HTML-страницы, такие как https://wiki.gnome.org/Outreachy
ссылки на страницы, такие как URL https://wiki.gnome.org/Outreachy/Admin
а также https://wiki.gnome.org/Outreachy/Admin/GettingStarted
, Может быть, wget сбит с толку, потому что там должна быть HTML-страница и каталог с тем же именем? Я также пытался использовать --nd
но не повезло.
Все связанные html-страницы относятся к базовому URL-адресу вики (например, <a href="/Outreachy/History">Outreachy history page</a>
). Я пытался также добавить --base="https://wiki.gnome.org/
без удачи
К этому моменту я перепробовал множество различных вариантов wget, прочитал несколько вопросов о переполнении стека и unix.stackexchange.com, и ничего из того, что я пробовал, не сработало. Я надеюсь, что есть эксперт по wget, который сможет просмотреть эту конкретную вики-страницу и понять, почему wget не может рекурсивно получить связанные страницы. Те же параметры отлично работают на других доменах.
Я также пробовал httrack, с тем же результатом. Я использую Linux, поэтому, пожалуйста, не предлагайте Windows или проприетарные инструменты.
1 ответ
Кажется, это вызвано следующим тегом в вики:
<meta name="robots" content="index,nofollow">
Если вы уверены, что хотите игнорировать тег, вы можете сделать так, чтобы wget игнорировал его, используя -e robots=off
:
wget -e robots=off --verbose -r https://wiki.gnome.org/Outreachy