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