Существует параметр -p
/--page-requisites
(вместе с -r
), который загружает большинство внешних URL-адресов, необходимых для правильного отображения заданной HTML-страницы (если только они не исключены из файла роботов).
Подробнее об этом можно прочитать в руководстве (man wget
):
Стоит знать, что идея Wget о ссылке на внешний документ - это любой URL, указанный в теге <A>
теге <AREA>
или <LINK>
отличный от <LINK REL="stylesheet">
.
Поскольку Wget обычно не делает различий между внешними и встроенными документами, обычно оставляют "листовые документы", в которых отсутствуют их реквизиты.
Обратите внимание, что Wget имеет внутреннюю таблицу пар тегов / атрибутов HTML, которую он учитывает при поиске связанных документов во время рекурсивного поиска. Чтобы добавить его, попробуйте использовать --follow-tags=list
(разделенный запятыми список), в отличие от --ignore-tags=list
.
Этот список тегов, вероятно, определен в html-url.c
и выглядит следующим образом:
/* For tags handled by tag_find_urls: attributes that contain URLs to
download. */
static struct {
int tagid;
const char *attr_name;
int flags;
} tag_url_attributes[] = {
{ TAG_A, "href", ATTR_HTML },
{ TAG_APPLET, "code", ATTR_INLINE },
{ TAG_AREA, "href", ATTR_HTML },
{ TAG_BGSOUND, "src", ATTR_INLINE },
{ TAG_BODY, "background", ATTR_INLINE },
{ TAG_EMBED, "href", ATTR_HTML },
{ TAG_EMBED, "src", ATTR_INLINE | ATTR_HTML },
{ TAG_FIG, "src", ATTR_INLINE },
{ TAG_FRAME, "src", ATTR_INLINE | ATTR_HTML },
{ TAG_IFRAME, "src", ATTR_INLINE | ATTR_HTML },
{ TAG_IMG, "href", ATTR_INLINE },
{ TAG_IMG, "lowsrc", ATTR_INLINE },
{ TAG_IMG, "src", ATTR_INLINE },
{ TAG_INPUT, "src", ATTR_INLINE },
{ TAG_LAYER, "src", ATTR_INLINE | ATTR_HTML },
{ TAG_OBJECT, "data", ATTR_INLINE },
{ TAG_OVERLAY, "src", ATTR_INLINE | ATTR_HTML },
{ TAG_SCRIPT, "src", ATTR_INLINE },
{ TAG_TABLE, "background", ATTR_INLINE },
{ TAG_TD, "background", ATTR_INLINE },
{ TAG_TH, "background", ATTR_INLINE }
};