Ruby: получить адрес перенаправления при публикации страницы с помощью Restclient - PullRequest
2 голосов
/ 25 января 2011

Привет, мне было интересно, возможно ли это, это мой сценарий, у меня есть отдельный файл, который пытается получить информацию со страниц, используя RestClient и Nokogiri

Мне нужно получить информацию обо всех видео, доступных на странице ". 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", которое, как я думаю, берет все данные из этой формы (там некоторые другие скрытые поля), а затем перенаправляет на эту страницу результатов, есть ли способ, которым я могу сделать сообщение со всеми данными, а затем получить страницу, которая перенаправляется

Я благодарю вас за то, что вы уделили мне время на помощь, если я не объясню себя полностью, я с удовольствием проясню любые сомнения, большое спасибо!

1 Ответ

0 голосов
/ 25 января 2011

Поскольку это не интерфейс REST, RestClient может оказаться не лучшим вашим выбором.Вы, вероятно, хотите что-то, что более близко имитирует браузер.Например, используя mechanize:

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

Это приведет вас на полпути.Вы можете увидеть все ссылки на видео.

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