Ruby的URI類是有用的。這不是功能最全的包處理的URL在那裏 - 退房Addressable::URI如果你需要更多的,但它是很好的:
require 'uri'
uri = URI.parse('http://www.website.com/info')
{
'Alabama' => 'AL',
'Alaska' => 'AK',
'Arizona' => 'AZ',
'Arkansas' => 'AR',
'California' => 'CA',
}.each_pair do |k, v|
uri.query = URI.encode_www_form({'state' => v})
puts uri.to_s
end
,輸出:
http://www.website.com/info?state=AL
http://www.website.com/info?state=AK
http://www.website.com/info?state=AZ
http://www.website.com/info?state=AR
http://www.website.com/info?state=CA
或者:
%w[AL AK AZ AR CA].each do |s|
uri.query = URI.encode_www_form({'state' => s})
puts uri.to_s
end
哪個輸出相同的東西。
通過'HTTP:// www.website.com /信息/狀態= AL'你的意思是通過'http://www.website.com/info/狀態= AL'? (注意表示[查詢字符串](http://en.wikipedia.org/wiki/Query_string)開頭的'?')。 – adamdunson 2013-03-02 03:08:25
這與Nokogiri無關。這是基本的網址字符串操作。另外,Nokogiri不開放任何東西; File或OpenURI通常用於打開某些內容。最後,有50個州,[加上一些](http://en.wikipedia.org/wiki/Protectorate#United_States),與676個'aa..zz'組合相比。你是否真的希望查看676個不同的可能組合,或者建立一個所有實際狀態的列表加上一些? – 2013-03-02 03:21:04
是的,它有?在國家之前,我應該怎麼做?和是這將是一個有點乏味爲您提供全方位的組合表示,此前我創建的列表將我單獨去和設置文檔(DOC =引入nokogiri :: HTML(開放(「blahblahblah」)),它LL解析每個輸出我想要的,或者是有一個更簡單的方法,我不會有加50+「文檔」。 – user2125715 2013-03-02 03:39:05