在Firefox或Safari等浏览器中,如果网站处于打开状态,我可以右键单击该页面,然后选择"查看页面源"或"查看源"等内容.这显示了页面的HTML源代码.
在Ruby中,是否有一个函数(可能是一个库)允许我将这个HTML源存储为变量?像这样的东西:
source = view_source(http://stackoverflow.com)
Run Code Online (Sandbox Code Playgroud)
源将是这个文本:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Stack Overflow</title>
etc
Run Code Online (Sandbox Code Playgroud)
rob*_*rit 27
使用Net :: HTTP:
require 'net/http'
source = Net::HTTP.get('stackoverflow.com', '/index.html')
Run Code Online (Sandbox Code Playgroud)
Nak*_*lon 17
require 'open-uri'
source = open(url){|f|f.read}
Run Code Online (Sandbox Code Playgroud)
UPD:更现代的语法
require 'open-uri'
source = open(url, &:read)
Run Code Online (Sandbox Code Playgroud)
Mat*_*ose 13
require 'open-uri'
source = open(url).read
Run Code Online (Sandbox Code Playgroud)
简短,简单,甜美.
是的,像这样:
require 'open-uri'
open('http://stackoverflow.com') do |file|
#use the source Eric
#e.g. file.each_line { |line| puts line }
end
Run Code Online (Sandbox Code Playgroud)