从链接获取基本URL

时间:2014-03-29 05:55:18

标签: ruby regex

我试过但却无法这样做。我想从链接中获取基本URL。为了使我的问题清楚,例如:

Link1:http://thechangelog.com/rawler-crawl-your-website-and-find-broken-links-with-rub/

Base url1:http://thechangelog.com

Link2:https://www.facebook.com/BreakingBad

Base url2:https://www.facebook.com

3 个答案:

答案 0 :(得分:7)

您可以使用URI模块执行此操作:http://www.ruby-doc.org/stdlib-2.1.0/libdoc/uri/rdoc/URI.html

require 'uri'
uri = URI("http://thechangelog.com/rawler-crawl-your-website-and-find-broken-links-with-rub/")
puts "#{uri.scheme}://#{uri.host}"

URI API在v1.9.3中也是相同的,所以你应该能够在旧版本的Ruby或JRuby中做同样的事情,如果你正在使用它。

答案 1 :(得分:0)

您可以使用以下正则表达式:

'(http)(s?)(://)([^/]*)'

答案 2 :(得分:0)

require 'uri'

uri = URI.parse('http://thechangelog.com/rawler-crawl-your-website-and-find-broken-links-with-rub/')
base = "#{uri.scheme}://#{uri.host}"