2011-01-25 4 views
2
를 사용하여 페이지를 게시 할 때 리디렉션의 주소를 가져

이 가능한 경우 궁금 해서요 안녕하세요, 내 시나리오는, 내가 위해 RESTClient 및 노코 기리루비 : 위해 RESTClient

를 사용하여 페이지의 정보를 얻기 위해 시도 독립형 파일이

"http://www.koldcast.tv/"페이지에서 사용할 수있는 모든 비디오 정보를 얻을 필요가 있습니다. 지금까지는 HTML 페이지 (플래시 없음)에서 이러한 결과를 얻는 방법을 찾지 못했습니다. 검색 페이지가 검색 키워드로 3 개의 밑줄을 사용하여 전체 목록을 되 돌리는 것에 대한 검색 페이지 인 경우 문제는 검색이 최종 페이지로 리디렉션되는 것으로 가정하는 페이지에 대한 게시물을 수행하고 "http : /www.koldcast.tv/index.php/landingpage/search_results/921c6b6e491005d91d117b0fa88f31d1/ "이 문제는이 URL에 있습니다. 5 또는 10 분 동안 만 살아 있기 때문에 매번 독립 실행 형 파일을 실행해야 할 때마다이 URL을 사용할 수 없습니다. 검색은 "http://www.koldcast.tv/index.php"에 대한 게시물이있는 양식에 있습니다. imagine은 해당 양식의 모든 데이터를 가져 와서 (다른 숨겨진 필드가 있음) 해당 결과 페이지로 리디렉션합니다. 모든 데이터로 게시물을 수행 한 다음 리디렉션되는 페이지를 얻을 수있는 방법이 있습니다.

I 돕기 위해 시간을내어 주셔서 감사합니다. 자신을 완전하게 설명하지 않으면 의심의 여지가 없어도 기꺼이 해결해 드리겠습니다.

답변

0

REST 인터페이스가 아니기 때문에 RestClient가 최선의 선택이 아닐 수도 있습니다. 브라우저와 더 밀접하게 관련된 것을 원할 수도 있습니다. 예를 들어 기계 사용 :

require 'mechanize' 

a = Mechanize.new 
a.get('http://www.koldcast.tv') do |page| 
    search_result = page.form_with(:action =>"http://www.koldcast.tv/index.php") do |search| 
    search.keywords = "___" 
    end.submit 

    # Print all relative links (starting with "/") 
    search_result.links_with(:href => /^\//).each do |link| 
    puts link.href 
    end 
end 

이렇게하면 중간에 있습니다. 모든 비디오 링크를 볼 수 있습니다.