総務省、無線局等情報検索APIからデータ取得するアプリ
免責事項等につきましては、当リポジトリのLICENSEをご覧ください。
これらサンプルプログラムを動かすにあたって、総務省無線局等情報検索機能Web-APIにアクセスします。その際にSSL Errorが出る場合があります。対処方法は次のセクションに記載していますので参考にしてください。
denpa_basic.py- 無線局検索Web-APIにアクセスするための部品。
- アマチュア無線局の免許数検索
- アマチュア無線局リスト取得
- アマチュア無線局、コールサインで検索し詳細情報を得る
license_gets.py- コールサイン検索のGUI版。Hamlog様の免許状Get'sを見た目だけ真似してみました。免許状検索、QRZ.com表示、マップ表示機能。
- Callをクリックするとコールサインをクリアします。
- コールサインを入力し、QTHボタンをクリックするとコールサインのQTHと免許状情報を表示します。コールサインを入力してEnterキーを押しても同じ動作をします。
- Fromボタン、Toボタンには今のところ機能を割り当てていません。
- QRZボタンをクリックすると、入力されたコールサインでQRZ.COMを表示します。
- Mapボタンをクリックすると、Googleマップを表示することができます。検索した無線局設置場所の情報から市町村全体の地図を表示します。
ja_call.py- JAコールサインかどうか判定する
総務省、電波利用ホームページ、無線局等情報検索のWeb-APIにリクエストして[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabledが返ってきてしまう場合、以下の対応をすることでエラー解消します。自己責任で対応ください。
任意のディレクトリにopenssl.cnfを作成する。
openssl_conf = openssl_init
[openssl_init]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
Options = UnsafeLegacyRenegotiation
環境変数にOPENSSL_CONFを追加する。作成したopenssl.cnfをフルパスで指定する。
export OPENSSL_CONF=/path/to/custom/openssl.cnfこの後Pythonのスクリプトを走らせるとエラーが出なくなりました。
- Python requests で SSLError が起きて毎回ググってるのでまとめた - Qiita
- Advanced Usage — Requests 2.31.0 documentation
- requestsモジュールでダウンロードに失敗する時の対策方法 - ガンマソフト
- [Python] importの躓きどころ - Qiita
package内のモジュールをimportするためには、
from . import mymodule1のようにrelative importであることを明示しなければならない(これをexplict relative importと呼ぶ)。
