Rails: как сохранить внешнюю веб-страницу - PullRequest
0 голосов
/ 09 марта 2011

В приложении rails, учитывая внешний URL, мне нужно сделать локальную копию веб-страниц, не созданных моим приложением. Очень похоже на «сохранить как» из браузера. Я посмотрел в систему ("wget ​​-r -l 1 http://google.com"). Это может работать, но копирует слишком много для страниц, которые я пробовал (например, 10х слишком много). Мне нужно перейти по ссылкам на ссылки, чтобы сделать страница отображается правильно, но вы не хотите следовать всем ссылкам на других страницах. Какой-нибудь пакет есть?

Ответы [ 2 ]

0 голосов
/ 10 марта 2011

Вы также можете использовать что-то вроде Nokogiri или HPricot . Пример с Нокогири:

require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.google.com/'))

Это даст вам фактический объект Ruby, который можно «запросить», используя связанные методы.

0 голосов
/ 10 марта 2011

Эта команда wget обычно работает для меня, поэтому, возможно, она подойдет вам:

wget -nd -pHEKk "http://www.google.com/"

Но как только вы получите все файлы, вам придется проанализировать их для ссылок на базовый URLи замените это на ./, что не должно быть слишком сложно (я не делаю Ruby, поэтому я не помогаю с этим).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...