Я хотел бы разработать «загрузчик страниц» в рубине - то, что с учетом URL-адреса загрузит html, связанные css, файлы изображений и javascripts, а затем измените html, чтобы ссылаться на локальные копии вместо удаленных. Так же, как некоторые браузеры делают с опцией «сохранить как полную страницу».«Сохранить страницу с зависимостями» (с помощью Nokogiri?)
Я думал об использовании Nokogiri для первоначального анализа страницы. Но я не уверен, что это лучший инструмент для работы:
- Может ли он получить список внешних зависимостей (стилей, изображений и javascripts). Я не забочусь о зависимых от javascript зависимостях.
- Разделяет ли он CSS? Возможно, я захочу загрузить изображения или @imported css-файлы.
Есть ли драгоценный камень, который уже делает то, что я хочу?
Связанный (но не идентичный) вопрос: http://stackoverflow.com/questions/1080565/rails-emulate-save-page-as-behaviour – kikito
Вы можете попробовать с помощью рамки тестирования, управляющей веб-браузером, например. Selenium WebDriver + любой обычный браузер или HtmlUnit (браузер без браузера). Возможно, это будет немного тяжело для того, о чем вы просили. – echristopherson