我正在开发一个应用程序,该应用程序接收一个网页的地址,并使用该页面的源代码生成一个HTML文件。我已经成功生成了文件。我不知道如何在新标签页中启动该文件。在这里
这在基于Web的代码编辑器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
然后我正在运行该代码。
答案 0 :(得分:0)
如果您只需要在计算机上本地打开此文件,我将进行一次system
通话。
例如,在我的macOS上,以下操作将在默认浏览器上打开HTML页面:
system("open #{out_file.path}")
如果您想将渲染的HTML提供给网络中的其他用户,那么您将需要一个HTTP服务器,我建议Sinatra开始。
答案 1 :(得分:0)
据我了解,您只想保存网站的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>
一切顺利。
希望它对您有帮助。