2011-03-09 6 views
0

레일즈 앱에서 외부 URL이 주어진다면 앱에서 생성하지 않은 웹 페이지의 로컬 복사본을 만들어야합니다. 브라우저에서 "다른 이름으로 저장"과 매우 비슷합니다. 나는 시스템을 조사했다. ("wget ​​-r -l 1 http://google.com") 작동 할 수도 있지만, 시도한 페이지에 너무 많이 복사한다. 내가 페이지를 제대로 표시하려면 물건에 대한 링크 참조를 따라야하지만, href를 다른 페이지로 옮기고 싶지는 않습니다. 밖에있는 패키지? 이 wget 명령은 일반적으로 나를 위해 작동레일즈 : 외부 웹 페이지를 저장하는 방법

답변

0

, 그래서 어쩌면 것에 대한 당신 :

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

하지만 당신은 모든 파일을 일단, 당신은 기본 URL에 대한 참조를 분석하고 있음을 교체해야합니다 ./과 함께, 너무 열심히해서는 안된다. (나는 Ruby를하지 않기 때문에 도움이되지 않는다.)

0

Nokogiri 또는 HPricot과 같은 문자를 사용할 수도 있습니다. 노코 기리와 예 :

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

이렇게하면 관련된 방법을 사용하여 '조회'할 수있는 실제 루비 객체를 제공 할 것입니다.

관련 문제