質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

442閲覧

PYthonの該当箇所について理解したい

Ragna78

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/08/21 00:38

#初投稿なので無作法、わかってないところ多数あるのでよければ教えて下さい。
#Pythonはそれほど難しくないけれどもやれることが面白いということで本を買ってみまして
テキストに書いてあったコードを実行してみました、が、コードの意味がわかりません。毎回聞くのも馬鹿見たいのでモジュールなどライブラリをわからないところをGOOGLEで検索かけましたが的外れな結果ばかり出てきてしまいました。
特によくわからないところは#パラメータをURLエンコードするというところのfmt:xml,zn:150042
などです。なんでこういうパラメータを設定するのか調べましたが???でし

発生している問題・エラーメッセージ

エラーメッセージ 特になし ### 該当のソースコード Python ソースコード import urllib.request import urllib.parse API = "http://api.aoikujira.com/zip/xml/get.php" # パラメータをURLエンコードする --- (※1) values = { 'fmt': 'xml', 'zn': '1500042' } params = urllib.parse.urlencode(values) # リクエスト用のURLを生成 --- (※2) url = API + "?" + params print("url=", url) # ダウンロード --- (※3) data = urllib.request.urlopen(url).read() text = data.decode("utf-8") print(text)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/08/21 00:42

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
dodox86

2020/08/21 00:54

> テキストに書いてあったコードを実行してみました、が、コードの意味がわかりません。毎回聞くのも馬鹿見たいのでモジュールなどライブラリをわからないところをGOOGLEで検索かけましたが的外れな結果ばかり出てきてしまいました。 そもそもそのテキストに基本的なPythonの文法やチュートリアルのようなものが載っていないのでしょうか。質問の内容からすると、そういった基本をすっ飛ばしていきなり応用に入っている気もしますが。
meg_

2020/08/21 00:55

> 本を買ってみまして その本にコードの説明は載っていないのでしょうか? > 毎回聞くのも馬鹿見たいのでモジュールなどライブラリをわからないところをGOOGLEで検索かけましたが的外れな結果ばかり出てきてしまいました。 どのような検索ワードにしましたか?「的外れな結果ばかり」ということはあまりないと思うのですが。
Ragna78

2020/08/21 01:04

あー、あるんですね。ありがとうございます。もう郵便局のAPIを使う際はこういう決まりと理解するしかないんですかね
guest

回答2

0

なんでこういうパラメータを設定するのか調べましたが???でした

該当 API のページの使い方にそうするように書いてあるからです。

クジラWeb API - zip

投稿2020/08/21 00:55

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2020/08/21 00:56

すいません。かぶりました。
guest

0

ベストアンサー

apiの使用方法を見たところ、下記URLへGetすれば指定した郵便番号から住所が得られるみたいです。
"http://api.aoikujira.com/zip/xml/get.php"

ここで、fmtやznなどのパラメーターを渡している理由は、そういうパラメーターを付与してGetしてくれとAPI仕様がなっているからです。

ただ、fmtはAPI仕様に載っていなかったので不要だと思います。
znは郵便番号を指定します。

投稿2020/08/21 00:55

ELBE

総合スコア305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ragna78

2020/08/21 01:00

ありがとうございます。そのようなfmtやZnなどのパラメータ設定や役割はどこで調べられましたか?わざわざ聞いてると成長がないので。fmtは本にはデータフォーマットをjsonからxmlに変換、znは回答者さんの言う通り郵便番号ですね。API,Python、znで検索かければ出てきますか?
ELBE

2020/08/21 01:07

このページの郵便番号APIのところに記載がありました。 http://api.aoikujira.com fmtやznはあくまでのAPIに渡すパラメーターなので、検索しても有益な情報はありません。 API仕様を見るしかないです。
ELBE

2020/08/21 01:13

補足です。 pythonだから、APIだから、という理由でznを渡しているのではありません。 "http://api.aoikujira.com/zip/xml/get.php" のエントリポイントが求めているパラーメーターがznだから渡しています。
Ragna78

2020/08/21 01:24

初心者なのでエントリポイント以下略、の所はよくわかりませんがよく読んでないこともわからなかった一因ですね汗。API、エントリーポイントもう少し勉強しますです。スクレイピング難しいですね。ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問