こんにちは。
Ruby で JARTIC(日本道路交通情報センター)の Web サイトから規制情報の一覧を取得する方法についての記録です。
0. 前提条件
- Ruby 2.2.1-p85 での作業を想定。
1. 規制一覧データについて
http://www.jartic.or.jp/_json/M_**_301.json
へアクセスすることで JSON データを取得することができる。
**
は2桁の都道府県コードか4桁の高速道路コード(1***
が一般、2***
が都市高速)。
(「JARTIC:日本道路交通情報センター」のサイトでマウスオーバーで表示される URL を見れば分かる)- 取得できるデータは JSON 形式となっている。(後述のように、"uptime" に更新日時、 “item” に一覧データが格納されている)
- 路線名称・規制区間が同じでも「上り(or 西行、内回 etc)」と「下り(or 東行、外回 etc)」で別々の
item
になっている。 - 規制区間が「○○付近」の場合は、4項目目が “” となり5項目目に格納される。
File: JSON
1 データの例(架空の情報)
2 {
3 "updtime":"99月99日99時99分",
4 "adjustimg":"false",
5 "max-lines":20,
6 "ic-max-lines":50,
7 "telop":" ●全国共通ダイヤル 050-XXXX-XXXX ◎全国・関東甲信越情報 050-XXXX-XXXX ※携帯短縮ダイヤル#XXXX 各都道府県の電話番号につきましては、問い合わせページをご覧ください。 ※電話番号をお確かめのうえ、おかけください。 ",
8 "item":[
9 ["国道9号","40090002","上り","松江市玉湯町布志名","松江市西嫁島3丁目","催事","通行止","502","1","","0","国道9号"],
10 ["国道9号","40090005","下り","松江市西嫁島3丁目","松江市玉湯町布志名","催事","通行止","502","1","","0","国道9号"],
11 ["大田桜江線","53204602","上り","","江津市桜江町谷住郷付近","土砂崩れ","通行止","109","1","46号線","0","大田桜江線"],
12 ["大田桜江線","53204605","下り","","江津市桜江町谷住郷付近","土砂崩れ","通行止","109","1","46号線","0","大田桜江線"],
13 :
14 ===< 途中省略 >===
15 :
16 ],
17 "name":"島根県",
18 "banner-top":[
19 {
20 "img":"banner/carv0001.gif",
21 "url":"https://kaitori.carview.co.jp/route.aspx?src=af_jartic999999_9999_assess999&dest=/service/assess/lp/999/"
22 },
23 {
24 "img":"banner/jyar0001.gif",
25 "url":"http://ck.jp.ap.valuecommerce.com/servlet/referral?sid=2240431&pid=999999999"
26 },
27 {
28 "img":"banner/telephone_number.gif",
29 "url":"http://www.jartic.or.jp/cgi/jumppage.cgi?rkp999999+1+http://www.jartic.or.jp/jartic_web/person/telephone.html"
30 }
31 ],
32 "adjuststr":"false",
33 "banner-side":[]
34 }
2. Ruby スクリプトの作成
参考までに、以下のような Ruby スクリプトを作成した。(道路コードを適宜変更すること)
一応 Bot になるので、万が一取得元サイトに迷惑がかかった際の当方の連絡先も User-Agent で伝えるようにしている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
|
3. Ruby スクリプトの実行
1 2 3 4 5 6 7 8 9 10 |
|
4. 注意事項
「JARTIC:日本道路交通情報センター」サイトの情報の二次利用については「ご利用上の注意(サイトご利用規定)」をご確認ください。
要約すると以下のとおり。
- 著作権法上認められた引用の範囲を超える行為の禁止。
- リンクを張る際は届出が必要。(当方は届出を出していないので、当ブログ記事内でもリンクを張っていない)
著作憲法上「ネット上で引用する場合は引用元サイト名と引用元のリンクが必要」という認識なので、著作権法上認められた引用の範囲内であってもリンクを張る届出が必要になるのではないかということ。
よって、当方は引用ツイートによる情報提供は(すぐにでも可能な状況ではあるが)行なっていない。(同様のことを行なっている方もいらっしゃいますし)
リアルタイムで二次利用するには少し問題がありそうですが、プライベートで情報を管理する分には問題ないでしょう。
以上。