Как включить "wget" для загрузки всего содержимого HTML с помощью Javascript

у меня есть сайт который я хочу загрузить с помощью Unix wget. Если вы посмотрите на исходный код и содержимое файла, он содержит раздел под названием SUMMARY. Однако после выдачи команды 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.

3 ответов


вам нужно поместить ссылку внутри кавычек:

 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, которые он учитывает при поиске связанных документов во время рекурсивного извлечения. Если пользователь хочет, чтобы рассматривалось только подмножество этих тегов, он должен указать такие теги в списке, разделенном запятыми, с помощью этой опции.