2011-03-17 56 views
1

我在foo.com上有一個HTML文檔,它由鏈接,表單,資產URL(圖像/ JavaScript)組成。轉換HTML文檔中的URL?

我想在沒有框架的bar.com上爲它服務。我還希望將所有相關網址轉換爲主機名爲「bar.com」的絕對網址,即資產網址和表單操作網址。

我從foo.com獲取HTML doument。使用Nokogiri轉換其中的URL的下一步是什麼?

回答

2

Nokogiri是一個HTML/XML解析器。您可以按照official tutorial瞭解如何解析文檔。

下面是一個例子:

require 'rubygems' 
require 'nokogiri' 
# Open the remote document, or from local file 
require 'open-uri' # load open-uri library if the input is from the Internet 
doc = Nokogiri::HTML(open(URL_OR_PATH_TO_DOCUMENT)) 

# Search for img tags: 
doc.css('img').each do |img| 
    # modify its attribute 
    img['src'] = "#{URL_PREFIX}/#{img['src']}" 
end 

# print the modified html 
puts doc.to_html 
1
require 'nokogiri' 
require 'open-uri' 

url = 'http://www.google.com' 
doc = Nokogiri::HTML(open(url)) 
doc.xpath('//a').each do |d| 
    rel_url = d.get_attribute('href') 
    d.set_attribute('href', 'http://www.xyz.com/' + rel_url) 
end