У меня есть сайт, который я хочу загрузить Unix использования wget
. При рассмотрении исходного кода и содержания файла, это содержит раздел под названием СВОДКА. Однако после выдачи wget команды как это:
wget -O downdloadedtext.txt http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik
Содержание downdloadedtext.txt
является неполным и отличается с исходным кодом того сайта. Например, это не содержит раздел SUMMARY. Существует ли корректный способ получить полное содержание правильно?
Причина я спрашиваю это, потому что я хочу автоматизировать загрузку с различных значений в том HTML.
Вам нужно поместить ссылку в кавычки:
wget -O downdloadedtext.txt 'http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik'
Это потому, что & имеет особое значение и разбивает команду на несколько команд.
Символ &
имеет особое значение в оболочках. Цитируйте URI, чтобы вы действительно запрашивали URI, который хотите запросить.
Вы можете использовать флаг -p
(--page-prerequisites
), чтобы указать wget
на получение связанных ресурсов. Из man wget
:
Эта опция заставляет Wget загружать все файлы, необходимые для правильного отображения данной HTML-страницы. Сюда входят такие вещи, как встроенные изображения, звуки и ссылающиеся таблицы стилей.
Вы также можете рассмотреть опцию --follow-tags
, которая позволяет ограничить этот процесс:
Wget имеет внутреннюю таблицу пар HTML тегов / атрибутов, которые он учитывает при поиске связанных документов во время рекурсивного поиска. Однако если пользователь хочет, чтобы учитывалось только подмножество этих тегов, ему следует указать их в списке, разделенном запятыми, с помощью этой опции.