%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20OSX%3F.png)
Я пытаюсь «извлечь» данные с веб-сайта.
Есть ли способ просто указать программе URL, и она захватит все в этом домене. Как мне это сделать на OSX 10.5? Если действительно нужно, я могу использовать Ubuntu или Windows Box в качестве последнего средства.
решение1
Вы можете использовать wget
команду, котораядоступно для загрузки для Mac OS Xвключен в большинство дистрибутивов Linux для загрузки всего содержимого веб-сайта, изображений, CSS, JavaScript, видео, Flash-файлов и т. д.
Как только вы это сделаете, откройте терминал. Вы, вероятно, захотите вызвать его так:
wget -r -l0 -k http://www.example.com/
Это загрузитвсеиз http://www.example.com/
доступных по ссылкам. -r
Опция включает рекурсивную загрузку, поэтому она загружает больше, чем просто домашнюю страницу. Опция -l
устанавливает, на сколько страниц в глубину она будет искать ссылки и загружать, установка на , 0
как я сделал, заставит ее зайти так далеко, как только сможет. Обратите внимание, что если веб-сайт использует динамическую генерацию страниц, это может привести к большой загрузке, так как может быть много URL-адресов, указывающих на один и тот же или очень похожий контент. Команда -k
необязательна и преобразует wget
все ссылки, теги изображений и т. д. в правильное расположение на вашем локальном компьютере, чтобы вы могли просматривать их с помощью веб-браузера на вашем компьютере, и она будет работать правильно.
Обратите внимание, что он будет загружать только файлы изwww.example.com, а не любые другие домены. Если вам нужно перейти на другие домены, используйте переключатель, -H
чтобы включить его, а затем используйте -D
переключатель опций, чтобы определить другие домены для загрузки (например, -D comments.example.com,beta.example.com
). Будьте осторожны, если вы не включите переключатель -D
и установите -l
значение 0
/infinite, вы вполне можете попытаться загрузить всю Всемирную паутину!
Еще один переключатель, который может оказаться полезным, — это -N
переключатель, который установит временную метку локального файла на время, указанное в Last-Modified
заголовке HTTP на сервере, и не будет загружать файлы, которые не были изменены при последующих загрузках.
Для получения более подробной информации проконсультируйтесьдокументацияwget
.