Есть ли способ визуализации HTML-страницы из Ruby? - PullRequest
0 голосов
/ 15 февраля 2019

Я занимаюсь разработкой приложения, которое берет адрес веб-страницы и генерирует HTML-файл с источником этой страницы.Я успешно сгенерировал файл.Я не могу понять, как запустить этот файл в новой вкладке.Здесь

Это выполняется в Repl.it, веб-редакторе кода.Вот что у меня есть:

def run
require 'open-uri'
puts "enter a URL and view the source"
puts "don't include the https:// at the beginning"
url = gets.chomp
fh =  open("https://"+url)
html = fh.read
puts html
out_file = File.new("out.html", "w")
out_file.puts(html)
out_file.close
run
end

Затем я запускаю этот код.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Как я понимаю, вы просто хотите сохранить html сайта и открыть новый файл в своем браузере.

Вы можете сделать это таким образом (я использую Firefox).

require 'net/http'
require 'uri'

uri = URI.parse('https://bla-bla-bla.netlify.com/')
response = Net::HTTP.get_response(uri)

file_name = 'out.html'

File.write(file_name, response.body)

system("firefox #{file_name}")

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

Теперь проверьте файл

$ cat out.html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Bla-bla-bla</title>
</head>
<body>
  <p>Bla-bla</p>
</body>
</html>

Все сработало.

Надеюсь, это поможет вам.

0 голосов
/ 15 февраля 2019

Если все, что вам нужно, это открыть этот файл локально на вашем компьютере, я бы выполнил вызов system.

Например, на моем macOS следующее откроет HTML-страницу в моем браузере по умолчанию:

system("open #{out_file.path}")

Если вы хотите предоставить отрендеренный HTML-код другим пользователям в вашей сети, вам понадобится HTTP-сервер, для начала я предлагаю Sinatra .

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