From: Hideyuki Oya Date: 2004-04-22T20:29:18+09:00 Subject: [ruby-list:39579] Re: 気象庁の... Re: uriってどう使うんでしょうか --------_4087AB361F4F01457390_MULTIPART_MIXED_ Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit oyaです。 添付したプログラムで一応気象データを取得できるようになったのですが、 環境によっては(ウイルス対策ソフトが動作していると)、インターネットに接続できないことがわかりました。 (この経緯についてはApolloのメーリングリストにあります) そこで以前に岡さんに教えていただいた方法を使おうと思ったのですが途中でエラーが出ます。 どこが間違っているのでしょうか? (ウイルス対策ソフトが動いていても、IEからアクセスすることは出来ました) (岡さんのプログラムを参考にして次のようにしてみました) #-------------------------------------------- #!ruby -Ks require 'win32ole' require "ie_lib" href1 = "http://www.data.kishou.go.jp/meteo/cgi-bin/search.cgi?frame=2&graph=0&prefecture=" prefecture = "27" href2 = "&observation=1&spot=" spot = "47772" href3 = "&data=2&" href4 = "&day=0&mode=0&half=0" year = "2003" month = "10" uri = href1 + prefecture + href2 + spot + href3 + "year=" + year + "&month=" + month + href4 ie = WIN32OLE.new('InternetExplorer.Application') ie.navigate(uri) ie.visible = true while ie.busy == true; sleep 0.5;end table_tag = ie.document.body.all.tags("TABLE") target = table_tag.item(1) print target.innerText # ここまでOK(たぶん) target.Document.tags("TR").each {|tr_tag| data_list = [] tr_tag.tags("TD").each {|td_tag| data_list.push td_tag.innerText } puts "#{data_list.join(',')}" } #-------------------------------------------- > 岡です。以下の問題はちょっと変わった方法で回避しました。 > > データを取り出すスクリプトのサンプルを添付ファイルに載せておきます。 > /OKA > > --------_4087AB361F4F01457390_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="power_tool_n3.rb" Content-Disposition: attachment; filename="power_tool_n3.rb" Content-Transfer-Encoding: base64 IyFjOi9Qcm9ncmFtIEZpbGVzL0Fwb2xsby9iaW4vcnVieS5leGUgLUtzDQojIHBvd2VyX3Rvb2xf bjMucmINCiMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiMgIyCD gYNDg5ODdoONg0+DiYOADQojICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQpyZXF1aXJlICdwaGknDQpyZXF1aXJlICJua2YiDQpyZXF1aXJlICdvcGVuLXVyaScNCnJl cXVpcmUgJ2ZpbmQnDQpyZXF1aXJlICdkaWFsb2dzJw0KcmVxdWlyZSAnY2FsJw0KcmVxdWlyZSAn cmd1aS91aScNCiMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioNCiMgKiAgi0OP24NmgVuDXo7mk74NCiMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioNCmRlZiB3ZWF0aGVyX2RhdGEocGF0aF9vdXQpDQogICAgcHJlZmVj dHVyZSA9IjIwIg0KICAgIHNwb3QgPSAiNDc2MjAiDQogICAgeWVhciA9ICIyMDA0Ig0KICAgIG1v bnRoID0gIjMiDQogICAgR0RhdGEud2VhdGhlcih5ZWFyLG1vbnRoLHByZWZlY3R1cmUsc3BvdCxw YXRoX291dCkNCmVuZCAjZGVmIHdlYXRoZXJfZGF0YQ0KIyAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKg0KDQpmb3JtID0gUGhpOjpGb3JtLm5ldyg6Zm9ybTEs ICeLQ4/bg2aBW4NejuaTvicpDQpmb3JtLmhlaWdodCA9IDIwMA0KZm9ybS53aWR0aCA9IDI1MA0K DQpsb2FkICJndWktbW9kdWxlLW4zLnJiIg0KcmVxdWlyZSAiR2V0V2VhdGhlckRhdGEzIg0KIyAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKg0KDQojIIOBg2qDhYFbkUmR8A0KJGRvX2J0bi5vbl9jbGljayA9IHByb2MgZG8N CiAgICAgICAgd2VhdGhlcl9kYXRhKCIyMDA0lE4iICsgIjOMji5odG1sIikNCiAgICAgICAgJGRv X2J0bi5jYXB0aW9uID0gIotDj9uDZoFbg16O5pO+iq6XuYK1gtyCtYK9Ig0KZW5kDQoNCiMgKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCmZvcm0uc2hvdw0K UGhpLm1haW5sb29wDQo= --------_4087AB361F4F01457390_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="gui-module-n3.rb" Content-Disposition: attachment; filename="gui-module-n3.rb" Content-Transfer-Encoding: base64 IyFydWJ5IC1Lcw0KI2d1aS1tb2R1bGUtbjMucmINCiMgKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioNCiMgieaRnJWUlWmCzJVcjqaCxo+Il50NCiMgKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCnJlcXVpcmUgInBoaSINCg0KZm9ybSA9IFBo aTo6U0NSRUVOLmZvcm0xICOOUY/GlryCxYNJg3WDV4NGg06DZ4LwjuaC6I9vgrUNCg0KJGRvX2J0 biA9IFBoaTo6QnV0dG9uLm5ldyhmb3JtLCA6ZG9fYnRuMSwgJ47AgUCNcycpDQokZG9fYnRuLmFs aWduID0gUGhpOjpBTF9CT1RUT00NCg0KDQojIC0tLS0tLS0tLS0tLQ0K --------_4087AB361F4F01457390_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="GetWeatherData3.rb" Content-Disposition: attachment; filename="GetWeatherData3.rb" Content-Transfer-Encoding: base64 bW9kdWxlIEdEYXRhDQptb2R1bGVfZnVuY3Rpb24NCiMqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KIyCLQ4/bg2aBW4NejuaTvg0KIyoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQpkZWYg d2VhdGhlcih5ZWFyLG1vbnRoLHByZWZlY3R1cmUsc3BvdCxwYXRoX291dCkNCiAgICBocmVmMSA9 ICJodHRwOi8vd3d3LmRhdGEua2lzaG91LmdvLmpwL21ldGVvL2NnaS1iaW4vc2VhcmNoLmNnaT9m cmFtZT0yJmdyYXBoPTAmcHJlZmVjdHVyZT0iDQogICAgaHJlZjIgPSAiJm9ic2VydmF0aW9uPTEm c3BvdD0iDQogICAgaHJlZjMgPSAiJmRhdGE9MiYiDQogICAgaHJlZjQgPSAiJmRheT0wJm1vZGU9 MCZoYWxmPTAiDQogICAgdG1wX3BhdGggPSAidG1wX0hUTUwuaHRtbCINCiAgICBmaWxlX3cgPSBG aWxlLm9wZW4odG1wX3BhdGgsInciKQ0KICAgIG9wZW4oaHJlZjEgKyBwcmVmZWN0dXJlICsgaHJl ZjIgKyBzcG90ICsgaHJlZjMgKyAieWVhcj0iICsgeWVhciArICImbW9udGg9IiArIG1vbnRoICsg aHJlZjQpIHt8ZnwNCiAgICAgICAgZi5lYWNoX2xpbmUge3xsaW5lfCBmaWxlX3cucHJpbnQgTktG Lm5rZignLXMnLCBsaW5lKX0gIA0KICAgIH0NCiAgICBmaWxlX3cuY2xvc2UNCiMgLS0tLS0tLS0t LZW2jpqDUoFbg2iC8FNoaWZ0X0pJU4LJj5GCq4q3gqYNCiAgICBkYXRhID0gb3Blbih0bXBfcGF0 aCl7fGlvfCBpby5yZWFkIH0NCiAgICBkYXRhX291dCA9IGRhdGEuc3ViKCd4LWV1Yy1qcCcsJ1No aWZ0X0pJUycpDQogICAgZmlsZV93ID0gRmlsZS5vcGVuKHBhdGhfb3V0LCJ3IikNCiAgICBmaWxl X3cucHJpbnQoZGF0YV9vdXQpDQogICAgZmlsZV93LmNsb3NlDQogICAgRmlsZS5kZWxldGUodG1w X3BhdGgpDQplbmQgI2RlZl93ZWF0aGVyDQplbmQNCg== --------_4087AB361F4F01457390_MULTIPART_MIXED_--