<Python, requests> 郵便番号ゲット

Pythonでもやってみた。

In [69]: import requests

In [70]: r = requests.get('http://zipcloud.ibsnet.co.jp/api/search', params={'zipcode':'7830060'})

In [71]: requests.get('http://zipcloud.ibsnet.co.jp/api/search?callback', params={'zipcode':'7830060'})
Out[71]: <Response [200]>

In [72]: r = requests.get('http://zipcloud.ibsnet.co.jp/api/search', params={'zipcode':'7830060'})

In [73]: r.content
Out[73]: b'{\n\t"message": null,\n\t"results": [\n\t\t{\n\t\t\t"address1": "\xe9\xab\x98\xe7\x9f\xa5\xe7\x9c\x8c",\n\t\t\t"address2": "\xe5\x8d\x97\xe5\x9b\xbd\xe5\xb8\x82",\n\t\t\t"address3": "\xe8\x9b\x8d\xe3\x81\x8c\xe4\xb8\x98",\n\t\t\t"kana1": "\xef\xbd\xba\xef\xbd\xb3\xef\xbe\x81\xef\xbd\xb9\xef\xbe\x9d",\n\t\t\t"kana2": "\xef\xbe\x85\xef\xbe\x9d\xef\xbd\xba\xef\xbd\xb8\xef\xbd\xbc",\n\t\t\t"kana3": "\xef\xbe\x8e\xef\xbe\x80\xef\xbe\x99\xef\xbd\xb6\xef\xbe\x9e\xef\xbd\xb5\xef\xbd\xb6",\n\t\t\t"prefcode": "39",\n\t\t\t"zipcode": "7830060"\n\t\t}\n\t],\n\t"status": 200\n}'

In [74]: import json

In [75]: json.loads(r.content.decode())
Out[75]: 
{'message': None,
 'results': [{'address1': '高知県',
   'address2': '南国市',
   'address3': '蛍が丘',
   'kana1': 'コウチケン',
   'kana2': 'ナンコクシ',
   'kana3': 'ホタルガオカ',
   'prefcode': '39',
   'zipcode': '7830060'}],
 'status': 200}

zipcloud.ibsnet.co.jp

qiita.com

[Python] JSONを扱う - YoheiM .NET

<jQuery> getJSON

jQuery javascriptjsonデータを引っ張るには、、、
$.getJSONだ。 だー、だー、だー、、、。

郵便番号zipcodeを引っ張るスクリプトscript

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Zipcode</title>
</head>

<body>
    <form>
      <div>
        <label for="zip">Zipcode</label><br />
        <input id="zip" type="text" size="10" />
        <input id="search" type="button" value="Search" />
      </div>
      <div>
        <label for="address">Address</label><br />
        <input id="address" type="text" size="35" />
      </div>
    </form>
</body>

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

<script>
$(function() {
  $('#search').click(function() {
    $.getJSON('http://zipcloud.ibsnet.co.jp/api/search?callback=?',
      {
        zipcode: $('#zip').val()
      }
    )
    .done(function(data) {
      if (data.results) {
        var result = data.results[0];
        $('#address').val(result.address1 + result.address2 + result.address3);
      } else {
        $('#address').val('No address matched');
      }
    });
  });
});
</script>

</html>

zipcloud.ibsnet.co.jp

jQuery: JSON形式のWeb APIにアクセスするには?($.getJSON) - Build Insider

<Google Cloud Platform> _winreg

もう解決できないのかと思った、このエラー。
ImportError: No module named _winreg

解決できた。

dd-kaihatsu-room.blogspot.jp

/c/Users/Nekoyuki/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/sandbox.py 中の次のリストに、_winregを追加する。

_WHITE_LIST_C_MODULES = [
    'array',
    '_ast',
    'binascii',
    :
    :
    '_winreg',     # 追加!
    'zipimport',
    'zlib',
]

動いたよー。 ようやく。

長かった。。。

<conda, dos, Python> dos上でconda

dos上で、condaして、Python環境を切り替える方法。

C:\>where activate
C:\Anaconda3\Scripts\activate
C:\Anaconda3\Scripts\activate.bat

C:\>conda info -e
# conda environments:
#
py27             * C:\Anaconda3\envs\py27
root               C:\Anaconda3

C:\>activate py27

(py27) C:\>

いいねー。 いけるねー。

<Google Cloud Platform> RAND_egd がインポートできんとさ、、

次のエラーメッセージがでた。

ImportError: cannot import name RAND_egd

グーグルっちしたら、、、

stackoverflow.com

読んでいくと、python2.7.12ではだめらしい。
2.7.9にしないといけなと、、

うーん、、、

後日。。。
結局、condaさんで、2.7.9を作った。

<Google Cloud Platform> SSL moduleがないと言われたとき、

Google Cloud Platformで、いそいそとコードを書いて、ローカルで動くか試した時、、、

 % ~/google-cloud-sdk/bin/dev_appserver.py .

してから、http://localhost:8080にアクセスしたら、エラーメッセージがでた。。。

Sorry, unexpected error: Can't connect to HTTPS URL because the SSL module is not available.

うーん、、って悩んだあと、グーグルした結果、次の1文をapp.yamlに追加すればいいとのこと。

# TODO: List any other App Engine SDK libs you may need here.
libraries:
#- name: jinja2
#  version: latest
- name: ssl               # Added by Neko
  version: latest         # Added by Neko

動いた。 なるへそ。

お世話になったstackoverflow。

stackoverflow.com

あとは、マニュアル。

https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27

https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27

<Github> gitでSSLエラー

ひさびさにgitしたらエラーがでた。

 % git pull
error: SSL certificate problem, verify that the CA cert is OK. Details:
...

ちと、グーグルした結果、.gitconfigに次の文を追加して、
SSL認証を無効にすることにした。

[http]                                                                                                                                                                                                                                                                                                                    
  sslVerify = false