{"id":1649,"date":"2018-08-13T12:44:05","date_gmt":"2018-08-13T03:44:05","guid":{"rendered":"http:\/\/bodaboda.info\/blog\/?p=1649"},"modified":"2018-08-22T06:15:29","modified_gmt":"2018-08-21T21:15:29","slug":"%e4%b8%ad%e5%8f%a4%e8%bb%8a%e4%be%a1%e6%a0%bc%e3%82%92%e3%82%a6%e3%82%a9%e3%83%83%e3%83%81%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/bodaboda.info\/blog\/?p=1649","title":{"rendered":"\u4e2d\u53e4\u8eca\u4fa1\u683c\u3092\u30a6\u30a9\u30c3\u30c1\u3059\u308b"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/bodaboda.info\/blog\/?p=1443\">\u30ab\u30fc\u30bb\u30f3\u30b5\u30fc\u306eAPI\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5<\/a>\u3092\u66f8\u304d\u307e\u3057\u305f\u3002<br \/>\u3082\u3046\u3061\u3087\u3063\u3068\u9032\u5316\u3055\u305b\u3066\u3001\u5e73\u5747\u4fa1\u683c\u3001\u58f2\u3089\u308c\u3066\u3044\u308b\u53f0\u6570\u3092\u8a08\u7b97\u3057\u3001\u30e1\u30fc\u30eb\u3067\u9001\u4fe1\u3059\u308b\u3088\u3046\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u30b7\u30a7\u30eb\u3068Python\u3002\u79c1\u306f\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u7d4c\u9a13\u306fHello world\u30ec\u30d9\u30eb\u3067\u3001\u30b0\u30b0\u3063\u3066\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5207\u3063\u305f\u5f35\u3063\u305f\u3057\u3066\u52d5\u4f5c\u3057\u305f\u3001\u30ec\u30d9\u30eb\u3067\u3059\uff01<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">\u30ce\u30a2\u306e\u8ca9\u58f2\u4fa1\u683c<\/h2>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">\u691c\u7d22\u30af\u30a8\u30ea<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">JSON\u5f62\u5f0f\u3067\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001jq\u306b\u3066\u5fc5\u8981\u30c7\u30fc\u30bf\u3060\u3051\u53d6\u308a\u51fa\u3057\u3001CSV\u3067\u4fdd\u5b58\u3002\u30d8\u30c3\u30c0\u3092sed\u3067\u633f\u5165\u3067\u3059\u3002\u3082\u3063\u3068\u7c21\u5358\u306a\u3084\u308a\u65b9\u304c\u3042\u308a\u305d\u3046\u3067\u3059\u304c\u3001\u79c1\u306b\u306f\u3053\u308c\u304c\u9650\u754c\u3002API\u30ad\u30fc\u306f\u81ea\u5206\u3067\u53d6\u5f97\u3057\u3066\u3001XXXXXXXXXX\u3068\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">$ cat query_noah.sh<br \/>#!\/bin\/bash<br \/>for i in {2014..2017}<br \/>do<br \/>curl=`<code>cat &lt;&lt;EOS\r\ncurl\r\nhttp:\/\/webservice.recruit.co.jp\/carsensor\/usedcar\/v1\r\n --get\r\n --data 'key=XXXXXXXXXX'\r\n --data 'brand=TO'\r\n --data-urlencode 'model=\u30ce\u30a2'\r\n --data 'count=100'\r\n --data 'format=json'\r\n --data 'year_old=${i}'\r\n --data 'year_new=${i}'\r\n --data-urlencode 'keyword=2.0 G'\r\nEOS`<br \/><\/code>eval ${curl} | jq -r '.results.usedcar[]<br \/>| select ( .grade | contains(\"4WD\") | not )<br \/>| [.id, .model, .year, .price, .odd, .color, .grade]<br \/>| @csv' &gt; noah-${i}-<code>date \"+%Y%m%d\"<\/code>.csv<br \/>sed -i '1s\/^\/\"id\",\"model\",\"year\",\"price\",\"odd\",\"color\",\"grade\"\\n\/' .\/noah-${i}-<code>date \"+%Y%m%d\"<\/code>.csv<br \/>done<\/pre>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">CSV\u3092\u6574\u5f62<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u4e0a\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3067noah-&#8220;YYMMDD&#8221;.csv\u5f62\u5f0f\u3067\u66f8\u304d\u3060\u3057\u305f\u306e\u3067\u3001\u3053\u308c\u3092Python\u3092\u4f7f\u3063\u3066\u5e73\u5747\u5024\u3001\u53f0\u6570\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002\u3053\u308c\u3067\u3001out2.txt\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u306b\u7d50\u679c\u3092\u66f8\u304d\u51fa\u3057\u307e\u3059\u3002<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">$ cat ReadCSVnCalc.py<br \/>#!\/usr\/bin\/python3.6<br \/>import csv<br \/>import pandas as pd<br \/>from pandas import DataFrame,Series<br \/>import datetime<br \/>import smtplib<br \/>import os.path<br \/>\r\nif os.path.exists('out2.txt'):<br \/>\r\n        os.remove('out2.txt')<br \/>\r\ndate =  datetime.date.today().strftime(\"%Y%m%d\")<br \/>\r\nfor i in range(2014,2018):<br \/>        filename = \"noah-\"+ str(i) +\"-\" + date + \".csv\"<br \/>        print(filename)<br \/>        df = pd.read_csv(filename,header=0,encoding='utf-8')<br \/>\r\n#\u6a19\u6e96\u51fa\u529b\u3067\u306f\u306a\u304f\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b\u3059\u308b<br \/><code>    with open('out2.txt', 'a') as f:\r\n            print(i,\"\u5e74\", file=f)\r\n            print(\"\u5e73\u5747\u4fa1\u683c\",\"{:,.0f}\".format(average), file=f)\r\n            print(\"\u53f0\u6570\",len(df), file=f)\r\n            print(\"\", file=f)\r\n\r\n    print(open('out2.txt').read())<\/code><\/pre>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">\u30e1\u30fc\u30eb\u3067\u9001\u4fe1<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Python\u3067\u66f8\u304d\u51fa\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u3001\u672c\u6587\u3068\u3057\u3066\u30e1\u30fc\u30eb\u3067\u9001\u4fe1\u3057\u307e\u3059\u3002<\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">$ cat sendmail-noah2014-17.py<br \/>#!\/usr\/bin\/python3.6<br \/>import smtplib<br \/>from email.mime.text import MIMEText<br \/>body = '.\/out2.txt'<br \/>with open(body, 'r', encoding='utf-8') as file:<br \/>        body = file.read()<br \/>from_address = 'carsensor@bodaboda.info'<br \/>to_address = 'to-my-mail-address@gmail.com'<br \/>charset = 'ISO-2022-JP'<br \/>msg = MIMEText(body, 'plain', charset)<br \/>msg['Subject'] = 'noah 2014-17 prices.'<br \/>msg['From'] = from_address<br \/>msg['To'] = to_address<br \/>s = smtplib.SMTP('localhost')<br \/>s.send_message(msg)<br \/>s.quit()<\/pre>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">\u5b9a\u671f\u5b9f\u884c<\/h3>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">cron\u306b\u4e0a\u306e3\u672c\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u767b\u9332\u3059\u308c\u3070\u3001\u5b9a\u671f\u7684\u306b\u767b\u9332\u5e74\u3054\u3068\u306e\u7d50\u679c\u3092\u30e1\u30fc\u30eb\u3067\u78ba\u8a8d\u3067\u304d\u308b\u306e\u3067\u3059\u3002<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">out2.txt\u306e\u5185\u5bb9\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u30022014\u5e74\u30682015\u5e74\u3067\u306f10\u4e07\u8ca9\u58f2\u4fa1\u683c\u304c\u5909\u308f\u3089\u306a\u3044\u3068\u3044\u3046\u306e\u304c\u9762\u767d\u3044\u3067\u3059\u306d\u3002\u65b0\u8eca\u4fa1\u683c264.3\u4e07\u306a\u306e\u3067\u30014\u5e74\u4e57\u3063\u3066\u3082\u8ca9\u58f2\u4fa1\u683c\u306f\u65b0\u8eca\u306e74.7%\u300166.8\u4e07\u843d\u3061\u3063\u3066\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u9a5a\u304d\u307e\u3057\u305f\u3002<\/p>\r\n\r\n\r\n\r\n<pre>$ cat out2.txt<br \/>2014 \u5e74<br \/>\u5e73\u5747\u4fa1\u683c 1,974,409<br \/>\u53f0\u6570 22<br \/>2015 \u5e74<br \/>\u5e73\u5747\u4fa1\u683c 2,097,353<br \/>\u53f0\u6570 17<br \/>2016 \u5e74<br \/>\u5e73\u5747\u4fa1\u683c 2,265,111<br \/>\u53f0\u6570 9<br \/>2017 \u5e74<br \/>\u5e73\u5747\u4fa1\u683c 2,516,833<br \/>\u53f0\u6570 6<\/pre>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>\u30ab\u30fc\u30bb\u30f3\u30b5\u30fc\u306eAPI\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u65b9\u6cd5\u3092\u66f8\u304d\u307e\u3057\u305f\u3002\u3082\u3046\u3061\u3087\u3063\u3068\u9032\u5316\u3055\u305b\u3066\u3001\u5e73\u5747\u4fa1\u683c\u3001\u58f2\u3089\u308c\u3066\u3044\u308b\u53f0\u6570\u3092\u8a08\u7b97\u3057\u3001\u30e1\u30fc\u30eb\u3067\u9001\u4fe1\u3059\u308b\u3088\u3046\u306a\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u4f5c\u3063\u3066\u307f\u307e\u3057\u305f\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u306f\u30b7\u30a7\u30eb\u3068Python\u3002\u79c1\u306f\u3001\u30d7\u30ed\u30b0 &hellip; <a href=\"https:\/\/bodaboda.info\/blog\/?p=1649\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u4e2d\u53e4\u8eca\u4fa1\u683c\u3092\u30a6\u30a9\u30c3\u30c1\u3059\u308b<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[37,1],"tags":[],"class_list":["post-1649","post","type-post","status-publish","format-standard","hentry","category-dba-zrr80g","category-myself"],"_links":{"self":[{"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1649"}],"version-history":[{"count":6,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1649\/revisions"}],"predecessor-version":[{"id":1904,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1649\/revisions\/1904"}],"wp:attachment":[{"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bodaboda.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}