0

複数の HTML ドキュメントを開こうとしています。各サイトの URL は次のようになります。

http://www.website.com/info/state=AL

ALアラバマですが、州によって変わります。2文字の組み合わせすべてで配列を作成できますが、state=('aa'..'zz').to_aこれを上記のパラメーターに入力するにはどうすればよいALですか?

2 つの文字の組み合わせすべての HTML ドキュメントを取得し、そこから条件を使用して、不要なものを取り除くことができます。しかし、2文字の組み合わせを挿入するにはどうすればよいですか?

4

1 に答える 1

1

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

同じものを出力します。

于 2013-03-02T04:54:03.457 に答える