2008-09-22 13 views
3

Я проверяю наше существующее веб-приложение, которое активно использует HTML frames. Я хотел бы загрузить весь HTML в каждый фрейм, есть ли способ сделать это с помощью wget или немного скриптов?Scrape multi-frame website

ответ

6

как дополнение к ответу Стива:

Span к любому хост -'- H»

„Опция -h“оказывается на хосте, охватывающую, что позволяет рекурсивный запустить Wget, чтобы посетить любой хост, на который ссылается ссылка. Если не будут применены достаточные критерии ограничения рекурсии, эти внешние хосты обычно свяжутся с еще большим количеством хостов и так далее, пока Wget не соберет гораздо больше данных, чем вы предполагали.

Предел охватывающих определенных областей -'- D»

„опция -D“позволяет указать домены, которые будут следовать, тем самым ограничивая рекурсию только для хостов, которые принадлежат к этим доменам. Очевидно, это имеет смысл только в сочетании с «-H».

Типичным примером будет загружать содержимое «www.server.com», но позволяет загрузку из «images.server.com» и т.д .:

 wget -rH -Dserver.com http://www.server.com/ 

Вы можете указать более одного адреса путем разделения их запятой,

например '-Ddomain1.com, domain2.com.

взяты из: wget manual

1
wget --recursive --domains=www.mysite.com http://www.mysite.com 

Который указывает, что рекурсивный обход должен также проходить в рамки и фреймы. Будьте осторожны, чтобы ограничить область рекурсии только вашим веб-сайтом, так как вы, вероятно, не хотите сканировать всю сеть.

1

Wget имеет опцию -r, чтобы сделать его рекурсивным, попробуйте Wget -r -l1 (в случае, если шрифт делает его трудно читать: что последняя часть строчная L а затем номер один) Часть -l1 сообщает, что она решает на максимальной глубине 1. Попробуйте сыграть с этим номером, чтобы очистить больше.