Почему “wget-r-e robots=off http://ccachicago.org” не действующий рекурсивно?

Хорошо это было легче, чем я хотя:

Кажется что -e оператор для if не определяется в оболочке Bourne (sh), но только в границе снова окружают (колотят).

Я заменил if [ -e ... if [ -r ... и это работает.

4
13.04.2017, 15:36
2 ответа

Вы спрашиваете wget сделать рекурсивную загрузку http://ccachicago.org, но этот URL не обеспечивает прямого содержания. вместо этого это - просто перенаправление к http://www.ccachicago.org (который Вы не сказали wget выбирать рекурсивно)..

если Вы говорите wget для загрузки корректного URL, это будет работать:

wget -r -e robots=off http://www....
6
27.01.2020, 20:47

Это - потому что wget значения по умолчанию только к выполнению рекурсивной загрузки в имени хоста, которое Вы использовали, когда Вы запустили.

http://ccachicago.org выпускает перенаправление на http://www.ccachicago.org. Так как все дальнейшие ссылки находятся под www.ccachicago.org, wget рассмотрит те ссылки, как являющиеся удаленным, и не будет следовать за ними.

Самое легкое решение здесь состоит в том, чтобы, конечно, запуститься с wget -r http://www.ccachicago.org.

Вы могли также добавить www.ccachicago.org к списку доменов для следования:

wget -r -D www.ccachicago.org http://ccachicago.org

Для будущего можно найти этот вид информации путем добавления флага отладки. Когда я сделал это, я добрался

Deciding whether to enqueue "http://www.ccachicago.org/".
This is not the same hostname as the parent's (www.ccachicago.org and ccachicago.org).
Decided NOT to load it.
Redirection "http://www.ccachicago.org/" failed the test.
6
27.01.2020, 20:47

Теги

Похожие вопросы