2012-09-21 2 views
0

여기에 몇 가지 화면 스크래핑 스레드가 있다는 것을 알고 있습니다.Ruby를 사용하는 스크린 스크래핑과 프록시

javascript를 사용하여 외부 웹 페이지에서 HTML을 긁어 내려고합니다. $ .ajax를 사용하고 있으며 모든 것이 잘 작동합니다. 여기 내 코드 :

$.ajax({ 
    url: "my.url/path", 
    dataType: 'text', 
    success: function(data) { 
     var myVar = $.get(url); 
     alert(myVar); 
    } 
}); 

유일한 문제는 내 웹 서버 내에서 지정된 URL을 찾고 있다는 것입니다. 프록시를 사용하여 외부 웹 페이지로 이동하려면 어떻게합니까?

+0

그것은 당신이 사용하고있는 서버와 사용하려는 어떤 서버 측 언어의 유형에 따라 달라집니다. –

+0

서버에 임베디드 루비를 사용합니다. – imnotfred

+0

더 적절한 대상을 얻도록 제목을 편집했습니다. –

답변

0

크로스 사이트 스크립팅 제한으로 인해 서버 URL에서 문제의 URL을 쿼리 한 결과를 사용자에게 반환하는 서버의 페이지에 원하는 URL을 전달해야합니다. 아래 스레드를 살펴보고 응용 프로그램에 해당 스레드를 통합하고 해당 페이지가 AJAX 기능에 부딪 힐 때 소스를 반환하도록하십시오.

$.ajax("fetchPage.rb" + encodeURI(http://www.google.com)) 
: 당신이 뭔가를 호출 할 수 있습니다 있도록 GET 요청을 사용

How to get the HTML source of a webpage in Ruby

당신이 당신의 서버를 가져 오기하고자하는 페이지의 URL을 전송하기 위해 할 수있는 가장 쉬운 방법을 것입니다

서버 측에서 문제의 측면에 직접 액세스 할 수 없기 때문에 서버 측 스크립트를 프록시를 통해 파이프하여 요청을 처리해야합니다. 실제로는 설정에 따라 다릅니다. 루비에 Proxy 클래스를 한 번 봐 복용 :

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy

관련 문제