kisyo 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c64fc33cac93f764fed948343fadfddb24f3baf6
4
+ data.tar.gz: 219f910e4b428373b6d0c31fdf7116720f214030
5
+ SHA512:
6
+ metadata.gz: 55b39ac75b8c72539adcb780194d8d26439398d141c73193070b66e3e31c3f879d986ee0522f8421cbe6062097cfd0d535d6b51a03dfd11c2393f4284517014a
7
+ data.tar.gz: 401344277d57491d9f47e0aa93570974b1eb5236222c74fcfcfd2ae0a1f3ae3a42b98b09608759a73ea25cdafbcba2f74984e975bd650b8e9f901c8e0d67984a
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in kisyo.gemspec
4
+ gemspec
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2016 yuta kawasaki
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,31 @@
1
+ # Kisyo
2
+
3
+ A ruby tool for getting weather information from www.data.jma.go.jp
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'kisyo'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install kisyo
20
+
21
+ ## Usage
22
+
23
+ see https://github.com/youpy/kisyo/tree/master/spec/kisyo/daily_spec.rb
24
+
25
+ ## Contributing
26
+
27
+ 1. Fork it ( https://github.com/youpy/kisyo/fork )
28
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
29
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
30
+ 4. Push to the branch (`git push origin my-new-feature`)
31
+ 5. Create a new Pull Request
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'kisyo/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'kisyo'
8
+ spec.version = Kisyo::VERSION
9
+ spec.authors = ['youpy']
10
+ spec.email = ['youpy@buycheapviagraonlinenow.com']
11
+ spec.summary = 'A ruby tool for getting weather information from www.data.jma.go.jp'
12
+ spec.homepage = ''
13
+ spec.license = 'MIT'
14
+
15
+ spec.files = `git ls-files -z`.split("\x0")
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ['lib']
19
+
20
+ spec.add_dependency 'nokogiri'
21
+ spec.add_development_dependency 'bundler', '~> 1.7'
22
+ spec.add_development_dependency 'rake', '~> 10.0'
23
+ spec.add_development_dependency 'rspec', '~> 3'
24
+ spec.add_development_dependency 'webmock'
25
+ end
@@ -0,0 +1,8 @@
1
+ require "kisyo/error"
2
+ require "kisyo/location"
3
+ require "kisyo/daily"
4
+ require "kisyo/elements/day"
5
+ require "kisyo/version"
6
+
7
+ module Kisyo
8
+ end
@@ -0,0 +1,36 @@
1
+ require 'nokogiri'
2
+ require 'open-uri'
3
+
4
+ module Kisyo
5
+ class Daily
6
+ def initialize(location)
7
+ @location = location
8
+ end
9
+
10
+ def at(date)
11
+ url = 'http://www.data.jma.go.jp/obd/stats/etrn/view/daily_s1.php?prec_no=%i&block_no=%i&year=%i&month=%i&day=01&view=p1' % [
12
+ @location.prefecture_id,
13
+ @location.block_id,
14
+ date.year,
15
+ date.month
16
+ ]
17
+
18
+ content = open(url).read
19
+ doc = Nokogiri::HTML(content)
20
+ days = doc.css('div.a_print')
21
+
22
+ raise Error.new('invalid date') if days.size == 0
23
+
24
+ days.each do |el|
25
+ if el.text.to_i == date.day
26
+ tr = el.parent.parent
27
+ values = tr.css('td').map do |td|
28
+ td.text
29
+ end
30
+
31
+ return Element::Day.new(*values[1 .. -1])
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,48 @@
1
+ module Kisyo
2
+ module Element
3
+ class Day
4
+ attr_reader(
5
+ :precipitation_total,
6
+ :precipitation_hourly_max,
7
+ :precipitation_10min_max,
8
+ :temperature_avg,
9
+ :temperature_max,
10
+ :temperature_min,
11
+ :humidity_avg,
12
+ :humidity_min,
13
+ :day_length,
14
+ :general_weather_condition_day,
15
+ :general_weather_condition_night
16
+ )
17
+
18
+ def initialize(
19
+ _, _,
20
+ precipitation_total,
21
+ precipitation_hourly_max,
22
+ precipitation_10min_max,
23
+ temperature_avg,
24
+ temperature_max,
25
+ temperature_min,
26
+ humidity_avg,
27
+ humidity_min,
28
+ _, _, _, _, _,
29
+ day_length,
30
+ _, _,
31
+ general_weather_condition_day,
32
+ general_weather_condition_night
33
+ )
34
+ @precipitation_total = precipitation_total.to_f
35
+ @precipitation_hourly_max = precipitation_hourly_max.to_f
36
+ @precipitation_10min_max = precipitation_10min_max.to_f
37
+ @temperature_avg = temperature_avg.to_f
38
+ @temperature_max = temperature_max.to_f
39
+ @temperature_min = temperature_min.to_f
40
+ @humidity_avg = humidity_avg.to_f
41
+ @humidity_min = humidity_min.to_f
42
+ @day_length = day_length.to_f
43
+ @general_weather_condition_day = general_weather_condition_day
44
+ @general_weather_condition_night = general_weather_condition_night
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,3 @@
1
+ module Kisyo
2
+ class Error < StandardError; end
3
+ end
@@ -0,0 +1,10 @@
1
+ module Kisyo
2
+ class Location
3
+ attr_reader :prefecture_id, :block_id
4
+
5
+ def initialize(prefecture_id, block_id)
6
+ @prefecture_id = prefecture_id
7
+ @block_id = block_id
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,3 @@
1
+ module Kisyo
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,158 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
+ <title>気象庁|過去の気象データ検索</title>
6
+ <meta name="Author" content="気象庁 Japan Meteorological Agency" />
7
+ <meta name="keywords" content="気象庁 Japan Meteorological Agency" />
8
+ <meta name="description" content="気象庁|過去の気象データ検索" />
9
+ <meta http-equiv="Content-Style-Type" content="text/css" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" type="text/css" href="../../../../com/css/define.css" media="all" />
12
+ <link rel="stylesheet" type="text/css" href="../../css/default.css" media="all" />
13
+ <script language="JavaScript" type="text/JavaScript" src="../js/jquery.js"></script>
14
+ <script language="JavaScript" type="text/JavaScript" src="../js/jquery.tablefix.js"></script>
15
+ <style type="text/css" media="all"><!-- @import url(../../../../com/default.css); --></style>
16
+ <link rel="stylesheet" type="text/css" href="../../css/kako.css" media="all" />
17
+ <link rel="stylesheet" type="text/css" href="../../css/print.css" media="print" />
18
+ </head>
19
+
20
+ <body>
21
+ <noscript><div>すべての機能をご利用いただくにはJavascriptを有効にしてください。</div></noscript>
22
+ <!--header start -->
23
+ <div id="header_area">
24
+ <div id="nheader">
25
+ <div id="logo"><a href="http://www.jma.go.jp/jma/index.html"><img src="http://www.jma.go.jp/jma/com/images/logo.gif" alt="気象庁" width="120" height="67" /></a></div>
26
+
27
+ <div id="header_right">
28
+ <div id="header_link">
29
+ <ul>
30
+ <li id="toMain"><a href="#main">本文へ</a></li>
31
+ <li xml:lang="en" lang="en"><a href="http://www.jma.go.jp/jma/indexe.html">ENGLISH</a></li>
32
+ <li><a href="http://www.jma.go.jp/jma/kishou/info/goiken.html">ご意見・ご感想</a></li>
33
+ <li id="siteMap"><a href="http://www.jma.go.jp/jma/kishou/sitemap.html">サイトマップ</a></li>
34
+ </ul>
35
+ </div>
36
+ <!-- search -->
37
+ <div id="yjsearch" class="watermark">
38
+ <p>キーワードを入力し検索ボタンを押下ください。</p>
39
+ <form action="http://www.jma.go.jp/jma/menu/search.html" method="get" id="srch">
40
+ <input type="search" results="5" name="p" id="srchInput" />
41
+ <input type="image" src="http://www.jma.go.jp/jma/com/images/btn_search.gif" alt="検索" id="srchBtn" onclick="document.getElementById('srchInput').focus();" />
42
+ <input type="hidden" id="fr" name="fr" value="cse" />
43
+ <input type="hidden" id="ei" name="ei" value="utf-8" />
44
+ <input type="hidden" id="csid" name="csid" value="pD.LqPJKNL6pX5S8V0Zj684fKOuX.849vg9h" />
45
+ <input type="hidden" name="vs" value="www.jma.go.jp" id="yjInsite" />
46
+ </form>
47
+ <img src="http://custom.search.yahoo.co.jp/images/window/pD.LqPJKNL6pX5S8V0Zj684fKOuX.849vg9h.gif" alt="" /> </div>
48
+ <script type="text/javascript">
49
+ (function() {
50
+ var sb = document.getElementById('yjsearch');
51
+ if (sb && sb.className == 'watermark') {
52
+ var si = document.getElementById('srchInput');
53
+ var f = function() { si.className = 'nomark'; };
54
+ var b = function() {
55
+ if (si.value == '') {
56
+ si.className = '';
57
+ }
58
+ };
59
+ si.onfocus = f;
60
+ si.onblur = b;
61
+ if (!/[&?]p=[^&]/.test(location.search)) {
62
+ b();
63
+ } else {
64
+ f();
65
+ }
66
+ }
67
+ })();
68
+ </script>
69
+ <!-- search -->
70
+ </div>
71
+ <ul id="gnavi">
72
+ <li><a href="http://www.jma.go.jp/">ホーム</a></li>
73
+ <li><a href="http://www.jma.go.jp/jma/menu/menuflash.html">防災情報</a></li>
74
+ <li><a href="http://www.jma.go.jp/jma/menu/menureport.html" class="on">各種データ・資料</a></li>
75
+ <li><a href="http://www.jma.go.jp/jma/menu/menuknowledge.html">知識・解説</a></li>
76
+ <li><a href="http://www.jma.go.jp/jma/menu/menuabout.html">気象庁について</a></li>
77
+ <li><a href="http://www.jma.go.jp/jma/menu/menulinks.html">案内・申請</a></li>
78
+ </ul>
79
+ </div>
80
+ </div>
81
+ <!--header end -->
82
+
83
+ <div id="contents_area3">
84
+ <div id="ncontents2">
85
+ <!-- pankuzu menu -->
86
+ <div class="print">
87
+ <ul class="breadcrumb2">
88
+ <li><a href="http://www.jma.go.jp/">ホーム</a>&nbsp;&gt;&nbsp;</li>
89
+ <li><a href="http://www.jma.go.jp/jma/menu/menureport.html">各種データ・資料</a>&nbsp;&gt;&nbsp;</li>
90
+ <li><a href="../index.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1">過去の気象データ検索</a>&nbsp;&gt;&nbsp;</li>
91
+ <li>日ごとの値</li>
92
+ </ul></div>
93
+ <!-- //pankuzu menu -->
94
+
95
+ <div id="main">
96
+ <!-- contents -->
97
+ <h1 class="print">日ごとの値</h1>
98
+
99
+ <div class="print"><table style="float:left"><tr><td><img src="../../data/icon/sellected/table.gif" alt="一覧表"></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=g_"><img src="../../data/icon/true/graph.gif" alt="グラフ"></a></td></tr></table><table style="margin-left: auto"><tr><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1s"><img src="../../data/icon/true/scroll_ari.gif" alt="見出しの固定"></a></td><td><a href="../index.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/2menu.gif" alt="メニューに戻る"></a></td></tr></table><table><tr><td><img src="../../data/icon/sellected/default.gif" alt="主な要素"></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=a1"><img src="../../data/icon/true/ppre.gif" alt="詳細(気圧・降水量)"></a></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=a2"><img src="../../data/icon/true/temvh.gif" alt="詳細(気温・蒸気圧・湿度)"></a></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=a3"><img src="../../data/icon/true/wind.gif" alt="詳細(風)"></a></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=a4"><img src="../../data/icon/true/sunsnowetc.gif" alt="詳細(日照・雪・その他)"></a></td></tr></table><table style="float:left"><tr><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2015&month=11&day=01&view=p1"><img src="../../data/icon/true/year1.gif" alt="前年"></a></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=10&day=01&view=p1"><img src="../../data/icon/true/month1.gif" alt="前月"></a></td><td><img src="../../data/icon/false/day1.gif" alt="前日"></td><td></td><td><img src="../../data/icon/false/day2.gif" alt="翌日"></td><td><img src="../../data/icon/false/month2.gif" alt="翌月"></td><td><img src="../../data/icon/false/year2.gif" alt="翌年"></td></tr></table><table style="margin-left: auto"><tr><td><a href="monthly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/4monthly.gif" alt="月ごとの値"></a></td><td><a href="10daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/4jun.gif" alt="旬ごとの値"></a></td><td><a href="mb5daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/4hanjun.gif" alt="半旬ごとの値"></a></td><td><img src="../../data/icon/sellected/4daily.gif" alt="日ごとの値"></td></tr></table></div>
100
+ <h3 style='padding:0px;margin-bottom:0px'>東京 2016年11月(日ごとの値) 主な要素</h3>
101
+ <table id='tablefix1' class='data2_s'>
102
+ <tr class="mtx"><th rowspan="4" scope="col">日</th><th colspan="2" scope="colgroup">気圧(hPa)</th><th rowspan="2" colspan="3" scope="colgroup">降水量(mm)</th><th rowspan="2" colspan="3" scope="colgroup">気温(℃)</th><th rowspan="2" colspan="2" scope="colgroup">湿度(%)</th><th rowspan="2" colspan="5" scope="colgroup">風向・風速(m/s)</th><th rowspan="4" scope="col">日照<br />時間<br />(h)</th><th rowspan="2" colspan="2" scope="colgroup">雪(cm)</th><th rowspan="2" colspan="2" scope="colgroup">天気概況</th></tr>
103
+ <tr class="mtx" scope="colgroup"><th scope="colgroup">現地</th><th colspan="1" scope="colgroup">海面</th></tr>
104
+ <tr class="mtx"><th rowspan="2" scope="col">平均</th><th rowspan="2" scope="col">平均</th><th rowspan="2" scope="col">合計</th><th colspan="2" scope="colgroup">最大</th><th rowspan="2" scope="col">平均</th><th rowspan="2" scope="col">最高</th><th rowspan="2" scope="col">最低</th><th rowspan="2" scope="col">平均</th><th rowspan="2" scope="col">最小</th><th rowspan="2" scope="col">平均<br />風速</th><th colspan="2" scope="colgroup">最大風速</th><th colspan="2" scope="colgroup">最大瞬間風速</th><th scope="colgroup">降雪</th><th scope="colgroup">最深積雪</th><th rowspan="2" scope="col">昼<br />(06:00-18:00)</th><th rowspan="2" scope="col">夜<br />(18:00-翌日06:00)</th></tr>
105
+ <tr class="mtx"><th scope="col">1時間</th><th scope="col">10分間</th><th scope="col">風速</th><th scope="col">風向</th><th scope="col">風速</th><th scope="col">風向</th><th scope="col">合計</th><th scope="col">値</th></tr>
106
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=1&view=p1">1</a></div></td><td class="data_0_0">1015.0</td><td class="data_0_0">1017.9</td><td class="data_0_0">10.0</td><td class="data_0_0">3.5</td><td class="data_0_0">1.0</td><td class="data_0_0">13.4</td><td class="data_0_0">16.4</td><td class="data_0_0">11.7</td><td class="data_0_0">82</td><td class="data_0_0">52</td><td class="data_0_0">2.0</td><td class="data_0_0">6.0</td><td class="data_0_0" style="text-align:center">北西</td><td class="data_0_0">9.4</td><td class="data_0_0" style="text-align:center">北西</td><td class="data_0_0">3.3</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">雨後晴時々曇</td><td class="data_0_0" style="text-align:left">曇</td></tr>
107
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=2&view=p1">2</a></div></td><td class="data_0_0">1021.2</td><td class="data_0_0">1024.2</td><td class="data_0_0">1.5</td><td class="data_0_0">1.0</td><td class="data_0_0">0.5</td><td class="data_0_0">10.9</td><td class="data_0_0">12.2</td><td class="data_0_0">8.6</td><td class="data_0_0">68</td><td class="data_0_0">53</td><td class="data_0_0">2.4</td><td class="data_0_0">4.1</td><td class="data_0_0" style="text-align:center">北北東</td><td class="data_0_0">7.1</td><td class="data_0_0" style="text-align:center">北東</td><td class="data_0_0">0.0</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">曇後時々雨</td><td class="data_0_0" style="text-align:left">雨時々曇</td></tr>
108
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=3&view=p1">3</a></div></td><td class="data_0_0">1011.3</td><td class="data_0_0">1014.2</td><td class="data_0_0">3.0</td><td class="data_0_0">3.0</td><td class="data_0_0">1.0</td><td class="data_0_0">12.9</td><td class="data_0_0">19.4</td><td class="data_0_0">8.4</td><td class="data_0_0">65</td><td class="data_0_0">35</td><td class="data_0_0">2.6</td><td class="data_0_0">4.2</td><td class="data_0_0" style="text-align:center">北西</td><td class="data_0_0">9.7</td><td class="data_0_0" style="text-align:center">北北西</td><td class="data_0_0">9.5</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">晴</td><td class="data_0_0" style="text-align:left">晴一時曇</td></tr>
109
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=4&view=p1">4</a></div></td><td class="data_0_0">1012.5</td><td class="data_0_0">1015.4</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">14.0</td><td class="data_0_0">18.8</td><td class="data_0_0">8.5</td><td class="data_0_0">52</td><td class="data_0_0">29</td><td class="data_0_0">3.0</td><td class="data_0_0">5.6</td><td class="data_0_0" style="text-align:center">北西</td><td class="data_0_0">10.0</td><td class="data_0_0" style="text-align:center">北西</td><td class="data_0_0">9.2</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">晴後一時曇</td><td class="data_0_0" style="text-align:left">曇一時晴</td></tr>
110
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=5&view=p1">5</a></div></td><td class="data_0_0">1010.1</td><td class="data_0_0">1013.0</td><td class="data_0_0">0.0</td><td class="data_0_0">0.0</td><td class="data_0_0">0.0</td><td class="data_0_0">14.6</td><td class="data_0_0">19.5</td><td class="data_0_0">11.2</td><td class="data_0_0">66</td><td class="data_0_0">49</td><td class="data_0_0">2.5</td><td class="data_0_0">4.9</td><td class="data_0_0" style="text-align:center">南南西</td><td class="data_0_0">8.4</td><td class="data_0_0" style="text-align:center">南南西</td><td class="data_0_0">6.8</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">晴一時曇</td><td class="data_0_0" style="text-align:left">快晴</td></tr>
111
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=6&view=p1">6</a></div></td><td class="data_0_0">1015.6</td><td class="data_0_0">1018.5</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">14.8</td><td class="data_0_0">20.8</td><td class="data_0_0">9.9</td><td class="data_0_0">58</td><td class="data_0_0">35</td><td class="data_0_0">2.6</td><td class="data_0_0">6.6</td><td class="data_0_0" style="text-align:center">北北西</td><td class="data_0_0">12.6</td><td class="data_0_0" style="text-align:center">西北西</td><td class="data_0_0">9.5</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">快晴</td><td class="data_0_0" style="text-align:left">晴後曇</td></tr>
112
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap"><div class="a_print"><a href="hourly_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=7&view=p1">7</a></div></td><td class="data_0_0">1023.2</td><td class="data_0_0">1026.2</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0">11.0</td><td class="data_0_0">14.4</td><td class="data_0_0">8.2</td><td class="data_0_0">61</td><td class="data_0_0">45</td><td class="data_0_0">3.0</td><td class="data_0_0">5.7</td><td class="data_0_0" style="text-align:center">北東</td><td class="data_0_0">9.8</td><td class="data_0_0" style="text-align:center">北東</td><td class="data_0_0">8.4</td><td class="data_0_0">--</td><td class="data_0_0">--</td><td class="data_0_0" style="text-align:left">晴</td><td class="data_0_0" style="text-align:left">快晴</td></tr>
113
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">8</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
114
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">9</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
115
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">10</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
116
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">11</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
117
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">12</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
118
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">13</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
119
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">14</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
120
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">15</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
121
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">16</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
122
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">17</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
123
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">18</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
124
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">19</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
125
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">20</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
126
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">21</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
127
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">22</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
128
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">23</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
129
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">24</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
130
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">25</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
131
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">26</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
132
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">27</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
133
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">28</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
134
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">29</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
135
+ <tr class="mtx" style="text-align:right;"><td style="white-space:nowrap">30</td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:center"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0"></td><td class="data_0_0" style="text-align:left"></td><td class="data_0_0" style="text-align:left"></td></tr>
136
+ </table>
137
+ <div class="print" style="margin-top:1em"><ul class="pagelink"><li><a href="../../data/mdrr/man/remark.html">値欄の記号の説明</a></li></ul></div>
138
+ </div>
139
+
140
+ <hr class="print" style="color:#DADFEC" />
141
+ <div class="print">
142
+ <table style='margin-left:auto;margin-right:0px'>
143
+ <tr>
144
+ <td><ul class="pagelink mtx"><li><a href="../../data/mdrr/man/first.html">利用される方へ</a></li></ul></td>
145
+ <td><ul class="pagelink mtx"><li><a href="../../data/mdrr/faq/index_k.html">よくある質問(FAQ)</a></li></ul></td>
146
+ <td><ul class="pagelink mtx"><li><a href="../../data/kaisetu/index.html">気象観測統計の解説</a></li></ul></td>
147
+ <td><ul class="pagelink mtx"><li><a href="http://www.jma.go.jp/jma/press/tenko.html">年・季節・各月の天候</a></li></ul></td>
148
+ </tr>
149
+ </table>
150
+ </div>
151
+
152
+ <p class="totop"><a href="#nheader">このページのトップへ</a></p>
153
+ </div>
154
+ </div>
155
+
156
+ <div id="footer_area"><div id="nfooter"><p>気象庁:〒100-8122東京都千代田区大手町1-3-4 代表電話:03-3212-8341</p><ul><li><a href="http://www.jma.go.jp/jma/kishou/info/coment.html">気象庁ホームページについて</a></li></ul></div></div></body>
157
+ </html>
158
+
@@ -0,0 +1,90 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5
+ <title>気象庁|過去の気象データ検索</title>
6
+ <meta name="Author" content="気象庁 Japan Meteorological Agency" />
7
+ <meta name="keywords" content="気象庁 Japan Meteorological Agency" />
8
+ <meta name="description" content="気象庁|過去の気象データ検索" />
9
+ <meta http-equiv="Content-Style-Type" content="text/css" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" type="text/css" href="../../../../com/css/define.css" media="all" />
12
+ <link rel="stylesheet" type="text/css" href="../../css/default.css" media="all" />
13
+ <script language="JavaScript" type="text/JavaScript" src="../js/jquery.js"></script>
14
+ <script language="JavaScript" type="text/JavaScript" src="../js/jquery.tablefix.js"></script>
15
+ <style type="text/css" media="all"><!-- @import url(../../../../com/default.css); --></style>
16
+ <link rel="stylesheet" type="text/css" href="../../css/kako.css" media="all" />
17
+ <link rel="stylesheet" type="text/css" href="../../css/print.css" media="print" />
18
+ </head>
19
+
20
+ <body>
21
+ <noscript><div>すべての機能をご利用いただくにはJavascriptを有効にしてください。</div></noscript>
22
+ <!--header start -->
23
+ <div id="header_area">
24
+ <div id="nheader">
25
+ <div id="logo"><a href="http://www.jma.go.jp/jma/index.html"><img src="http://www.jma.go.jp/jma/com/images/logo.gif" alt="気象庁" width="120" height="67" /></a></div>
26
+
27
+ <div id="header_right">
28
+ <div id="header_link">
29
+ <ul>
30
+ <li id="toMain"><a href="#main">本文へ</a></li>
31
+ <li xml:lang="en" lang="en"><a href="http://www.jma.go.jp/jma/indexe.html">ENGLISH</a></li>
32
+ <li><a href="http://www.jma.go.jp/jma/kishou/info/goiken.html">ご意見・ご感想</a></li>
33
+ <li id="siteMap"><a href="http://www.jma.go.jp/jma/kishou/sitemap.html">サイトマップ</a></li>
34
+ </ul>
35
+ </div>
36
+ <!-- search -->
37
+ <div id="yjsearch" class="watermark">
38
+ <p>キーワードを入力し検索ボタンを押下ください。</p>
39
+ <form action="http://www.jma.go.jp/jma/menu/search.html" method="get" id="srch">
40
+ <input type="search" results="5" name="p" id="srchInput" />
41
+ <input type="image" src="http://www.jma.go.jp/jma/com/images/btn_search.gif" alt="検索" id="srchBtn" onclick="document.getElementById('srchInput').focus();" />
42
+ <input type="hidden" id="fr" name="fr" value="cse" />
43
+ <input type="hidden" id="ei" name="ei" value="utf-8" />
44
+ <input type="hidden" id="csid" name="csid" value="pD.LqPJKNL6pX5S8V0Zj684fKOuX.849vg9h" />
45
+ <input type="hidden" name="vs" value="www.jma.go.jp" id="yjInsite" />
46
+ </form>
47
+ <img src="http://custom.search.yahoo.co.jp/images/window/pD.LqPJKNL6pX5S8V0Zj684fKOuX.849vg9h.gif" alt="" /> </div>
48
+ <script type="text/javascript">
49
+ (function() {
50
+ var sb = document.getElementById('yjsearch');
51
+ if (sb && sb.className == 'watermark') {
52
+ var si = document.getElementById('srchInput');
53
+ var f = function() { si.className = 'nomark'; };
54
+ var b = function() {
55
+ if (si.value == '') {
56
+ si.className = '';
57
+ }
58
+ };
59
+ si.onfocus = f;
60
+ si.onblur = b;
61
+ if (!/[&?]p=[^&]/.test(location.search)) {
62
+ b();
63
+ } else {
64
+ f();
65
+ }
66
+ }
67
+ })();
68
+ </script>
69
+ <!-- search -->
70
+ </div>
71
+ <ul id="gnavi">
72
+ <li><a href="http://www.jma.go.jp/">ホーム</a></li>
73
+ <li><a href="http://www.jma.go.jp/jma/menu/menuflash.html">防災情報</a></li>
74
+ <li><a href="http://www.jma.go.jp/jma/menu/menureport.html" class="on">各種データ・資料</a></li>
75
+ <li><a href="http://www.jma.go.jp/jma/menu/menuknowledge.html">知識・解説</a></li>
76
+ <li><a href="http://www.jma.go.jp/jma/menu/menuabout.html">気象庁について</a></li>
77
+ <li><a href="http://www.jma.go.jp/jma/menu/menulinks.html">案内・申請</a></li>
78
+ </ul>
79
+ </div>
80
+ </div>
81
+ <!--header end -->
82
+
83
+ <div id="contents_area3">
84
+ <div id="ncontents2">
85
+ <!-- pankuzu menu -->
86
+ <div class="print">
87
+ <ul class="breadcrumb2">
88
+ <li><a href="http://www.jma.go.jp/">ホーム</a>&nbsp;&gt;&nbsp;</li>
89
+ <li><a href="http://www.jma.go.jp/jma/menu/menureport.html">各種データ・資料</a>&nbsp;&gt;&nbsp;</li>
90
+ <li><a href="../index.php?prec_no=44&block_no=47662&year=&month=11&day=01&view=p1">過去の気象データ検索</a>&nbsp;&gt;&nbsp;</li> <li>日ごとの値</li></ul></div><div id="main"><h1 class="print">日ごとの値</h1><div class="print"><table style="float:left"><tr><td><img src="../../data/icon/sellected/table.gif" alt="一覧表"></td><td><img src="../../data/icon/true/graph.gif" alt="グラフ"></td></tr></table><table style="margin-left: auto"><tr><td><a href="../index.php?prec_no=44&block_no=47662&year=&month=11&day=01&view=p1"><img src="../../data/icon/true/2menu.gif" alt="メニューに戻る"></a></td></tr></table><table><tr><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/year1.gif" alt="前年"></a></td><td><a href="daily_s1.php?prec_no=44&block_no=47662&year=2016&month=11&day=01&view=p1"><img src="../../data/icon/true/year1.gif" alt="前月"></a></td><td><img src="../../data/icon/false/day1.gif" alt="前日"></td><td></td><td><img src="../../data/icon/false/day2.gif" alt="翌日"></td><td><img src="../../data/icon/false/month2.gif" alt="翌月"></td><td><img src="../../data/icon/false/year2.gif" alt="翌年"></td></tr></table></div>3016年11月のページを表示しましたが、<br />閲覧可能な年は、今月2016年11月までです。<br />「閲覧可能な月まで戻るか、「メニューに戻る」ボタンをクリックして下さい。</div></div></div><div id="footer_area"><div id="nfooter"><p>気象庁:〒100-8122東京都千代田区大手町1-3-4 代表電話:03-3212-8341</p><ul><li><a href="http://www.jma.go.jp/jma/kishou/info/coment.html">気象庁ホームページについて</a></li></ul></div></div></body></html>
@@ -0,0 +1,59 @@
1
+ # coding: utf-8
2
+ require File.dirname(__FILE__) + '/../spec_helper'
3
+
4
+ describe Kisyo::Daily do
5
+ let(:date) {
6
+ Date.parse('2016-11-02')
7
+ }
8
+
9
+ let(:location) {
10
+ Kisyo::Location.new(44, 47662)
11
+ }
12
+
13
+ let(:daily) {
14
+ Kisyo::Daily.new(location)
15
+ }
16
+
17
+ describe '#at' do
18
+ let(:url) {
19
+ 'http://www.data.jma.go.jp/obd/stats/etrn/view/daily_s1.php?block_no=47662&day=01&month=11&prec_no=44&view=p1&year=2016'
20
+ }
21
+
22
+ context 'information is available' do
23
+ before do
24
+ stub_request(:get, url).
25
+ to_return(:body => read_fixture_file('201611.html'))
26
+ end
27
+
28
+ it 'returns weather information for given day' do
29
+ info = daily.at(date)
30
+
31
+ expect(info.precipitation_total).to eql(1.5)
32
+ expect(info.precipitation_hourly_max).to eql(1.0)
33
+ expect(info.precipitation_10min_max).to eql(0.5)
34
+ expect(info.precipitation_10min_max).to eql(0.5)
35
+ expect(info.temperature_avg).to eql(10.9)
36
+ expect(info.temperature_max).to eql(12.2)
37
+ expect(info.temperature_min).to eql(8.6)
38
+ expect(info.humidity_avg).to eql(68.0)
39
+ expect(info.humidity_min).to eql(53.0)
40
+ expect(info.day_length).to eql(0.0)
41
+ expect(info.general_weather_condition_day).to eql('曇後時々雨')
42
+ expect(info.general_weather_condition_night).to eql('雨時々曇')
43
+ end
44
+ end
45
+
46
+ context 'information is not available' do
47
+ before do
48
+ stub_request(:get, url).
49
+ to_return(:body => read_fixture_file('ng.html'))
50
+ end
51
+
52
+ it 'raises error' do
53
+ expect {
54
+ daily.at(date)
55
+ }.to raise_error(Kisyo::Error, 'invalid date')
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,102 @@
1
+ require 'kisyo'
2
+ require 'webmock/rspec'
3
+
4
+ # This file was generated by the `rspec --init` command. Conventionally, all
5
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
6
+ # The generated `.rspec` file contains `--require spec_helper` which will cause
7
+ # this file to always be loaded, without a need to explicitly require it in any
8
+ # files.
9
+ #
10
+ # Given that it is always loaded, you are encouraged to keep this file as
11
+ # light-weight as possible. Requiring heavyweight dependencies from this file
12
+ # will add to the boot time of your test suite on EVERY test run, even for an
13
+ # individual file that may not need all of that loaded. Instead, consider making
14
+ # a separate helper file that requires the additional dependencies and performs
15
+ # the additional setup, and require it from the spec files that actually need
16
+ # it.
17
+ #
18
+ # The `.rspec` file also contains a few flags that are not defaults but that
19
+ # users commonly want.
20
+ #
21
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
22
+ RSpec.configure do |config|
23
+ # rspec-expectations config goes here. You can use an alternate
24
+ # assertion/expectation library such as wrong or the stdlib/minitest
25
+ # assertions if you prefer.
26
+ config.expect_with :rspec do |expectations|
27
+ # This option will default to `true` in RSpec 4. It makes the `description`
28
+ # and `failure_message` of custom matchers include text for helper methods
29
+ # defined using `chain`, e.g.:
30
+ # be_bigger_than(2).and_smaller_than(4).description
31
+ # # => "be bigger than 2 and smaller than 4"
32
+ # ...rather than:
33
+ # # => "be bigger than 2"
34
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
35
+ end
36
+
37
+ # rspec-mocks config goes here. You can use an alternate test double
38
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
39
+ config.mock_with :rspec do |mocks|
40
+ # Prevents you from mocking or stubbing a method that does not exist on
41
+ # a real object. This is generally recommended, and will default to
42
+ # `true` in RSpec 4.
43
+ mocks.verify_partial_doubles = true
44
+ end
45
+
46
+ # The settings below are suggested to provide a good initial experience
47
+ # with RSpec, but feel free to customize to your heart's content.
48
+ =begin
49
+ # These two settings work together to allow you to limit a spec run
50
+ # to individual examples or groups you care about by tagging them with
51
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
52
+ # get run.
53
+ config.filter_run :focus
54
+ config.run_all_when_everything_filtered = true
55
+
56
+ # Limits the available syntax to the non-monkey patched syntax that is
57
+ # recommended. For more details, see:
58
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
59
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
60
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
61
+ config.disable_monkey_patching!
62
+
63
+ # This setting enables warnings. It's recommended, but in some cases may
64
+ # be too noisy due to issues in dependencies.
65
+ config.warnings = true
66
+
67
+ # Many RSpec users commonly either run the entire suite or an individual
68
+ # file, and it's useful to allow more verbose output when running an
69
+ # individual spec file.
70
+ if config.files_to_run.one?
71
+ # Use the documentation formatter for detailed output,
72
+ # unless a formatter has already been configured
73
+ # (e.g. via a command-line flag).
74
+ config.default_formatter = 'doc'
75
+ end
76
+
77
+ # Print the 10 slowest examples and example groups at the
78
+ # end of the spec run, to help surface which specs are running
79
+ # particularly slow.
80
+ config.profile_examples = 10
81
+
82
+ # Run specs in random order to surface order dependencies. If you find an
83
+ # order dependency and want to debug it, you can fix the order by providing
84
+ # the seed, which is printed after each run.
85
+ # --seed 1234
86
+ config.order = :random
87
+
88
+ # Seed global randomization in this process using the `--seed` CLI option.
89
+ # Setting this allows you to use `--seed` to deterministically reproduce
90
+ # test failures related to randomization by passing the same `--seed` value
91
+ # as the one that triggered the failure.
92
+ Kernel.srand config.seed
93
+ =end
94
+
95
+ def fixture_file(name)
96
+ File.expand_path(File.dirname(__FILE__) + '/fixtures/' + name)
97
+ end
98
+
99
+ def read_fixture_file(name)
100
+ open(fixture_file(name)).read
101
+ end
102
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kisyo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - youpy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description:
84
+ email:
85
+ - youpy@buycheapviagraonlinenow.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - Gemfile
93
+ - LICENSE.txt
94
+ - README.md
95
+ - Rakefile
96
+ - kisyo.gemspec
97
+ - lib/kisyo.rb
98
+ - lib/kisyo/daily.rb
99
+ - lib/kisyo/elements/day.rb
100
+ - lib/kisyo/error.rb
101
+ - lib/kisyo/location.rb
102
+ - lib/kisyo/version.rb
103
+ - spec/fixtures/201611.html
104
+ - spec/fixtures/ng.html
105
+ - spec/kisyo/daily_spec.rb
106
+ - spec/spec_helper.rb
107
+ homepage: ''
108
+ licenses:
109
+ - MIT
110
+ metadata: {}
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.5.1
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: A ruby tool for getting weather information from www.data.jma.go.jp
131
+ test_files:
132
+ - spec/fixtures/201611.html
133
+ - spec/fixtures/ng.html
134
+ - spec/kisyo/daily_spec.rb
135
+ - spec/spec_helper.rb