Я пытаюсь скачать два сайта для включения на компакт-диск:
http://boinc.berkeley.edu/trac/wiki
http://www.boinc-wiki.info
У меня проблема в том, что это обе вики. Итак, при загрузке, например:
wget -r -k -np -nv -R jpg,jpeg,gif,png,tif http://www.boinc-wiki.info/
Я получаю много файлов потому что он также следует по ссылкам типа ...? action = edit ...? action = diff & version = ...
Кто-нибудь знает способ обойти это?
Мне просто нужны текущие страницы без изображений, без различий и т. Д.
P.S .:
wget -r -k -np -nv -l 1 -R jpg,jpeg,png,gif,tif,pdf,ppt http://boinc.berkeley.edu/trac/wiki/TitleIndex
Это сработало для Беркли, но boinc-wiki.info все еще доставляет мне проблемы: /
P.P.S:
Я получил наиболее подходящие страницы с:
wget -r -k -nv -l 2 -R jpg,jpeg,png,gif,tif,pdf,ppt http://www.boinc-wiki.info
wget --reject-regex '(.*)\?(.*)' http://example.com
(--reject-type posix
по умолчанию). Работает только для последних (> = 1.14) версий wget
хотя, согласно другим комментариям.
Помните, что кажется, что вы можете использовать --reject-regex
только один раз за wget
вызов. То есть вы должны использовать |
в одном регулярном выражении, если вы хотите выбрать несколько регулярных выражений:
wget --reject-regex 'expr1|expr2|…' http://example.com
В документация для wget говорит:
Также обратите внимание, что строки запроса (строки в конце URL-адреса, начинающиеся с вопросительного знака ('?'), Не включаются как часть имени файла для правил принятия / отклонения, даже если они фактически вносят вклад в имя, выбранное для локальный файл.Предполагается, что будущая версия Wget предоставит возможность сопоставления по строкам запроса.
Похоже, этот функционал был на столе некоторое время и ничего с этим не делали.
Я не использовал его, но httrack похоже, что он имеет более надежный набор функций фильтрации, чем wget, и может быть лучше подходит для того, что вы ищете (читайте о фильтрах здесь http://www.httrack.com/html/fcguide.html).
Новая версия wget (версия 1.14) решает все эти проблемы.
Вы должны использовать новую опцию --reject-regex=....
для обработки строк запроса.
Обратите внимание, что мне не удалось найти новое руководство, включающее эти новые параметры, поэтому вам нужно использовать команду справки wget --help > help.txt
Павук должен уметь это делать:
http://pavuk.sourceforge.net/man.html#sect39
Пример Mediawiki:
[...]
-skip_url_pattern ’oldid =, действие = редактировать, действие = история, diff =, limit =, [/ =] Пользователь:, [/ =] User_talk:, [^ p] / Специальное:, = Специальный: [^ R], .php / Special: [^ LUA] [^ onl] [^ nul], MediaWiki:, Поиск:, Помогите:’
[...]
Похоже, вы пытаетесь избежать загрузки специальных страниц MediaWiki. Я решил эту проблему один раз, избегая index.php
страница:
wget -R '*index.php*' -r ... <wiki link>
Однако вики использовала URL-адреса, как показано в Википедии (http://<wiki>/en/Theme
), а не узор, который я видел в других местах (http://<wiki>/index.php?title=Theme
). поскольку ссылка, которую вы дали использует URL-адреса в шаблоне Википедии, хотя я думаю, что это решение может сработать и для вас.
‘-R rejlist --reject rejlist’ Укажите разделенные запятыми списки суффиксов или шаблонов имен файлов, которые нужно принять или отклонить (см. Типы файлов). Обратите внимание, что если какой-либо из подстановочных знаков, ‘*’, ‘?’, ‘[’ Или ‘]’, появляется в элементе acclist или rejlist, он будет рассматриваться как образец, а не суффикс.
Выкройки, наверное, то, что вам нужно. Я не уверен, насколько сложны шаблоны, но вы можете попробовать принять только определенные файлы или заблокировать:
wget -r -k -np -nv -R jpg,jpeg,gif,png,tif,*\? http://www.boinc-wiki.info/
Принять:
wget -r -k -np -nv -R jpg,jpeg,gif,png,tif -A [a-zA-Z.] http://www.boinc-wiki.info/
Изменить: nvm в свете другого сообщения.