技術雑記帳兼日記帳

AWS、Python、Terraformの使い方をコッソリ

Python

python WSL

やんごとなき事情でWindowsでPython環境を作ったが、なれないのでWSLのUbuntuで実行環境を作った。 そのときに、turtleが表示されなかったのでメモ 以下をWindowsにインストール sourceforge.net Linux側で下記を設定 $ export DISPLAY=localhost:0.0 あとは…

Amazon S3 and boto3

忘れそうなのでメモついでにAWS CLIとPythonでS3の使い方をまとめる。 docs.aws.amazon.com S3の設定 バケット作成 aws s3 mb s3://バケット名 バケットにコピー aws s3 sync images s3://バケット名/images/ バケットデータ削除 aws s3 rm s3://バケット名/…

python スクレイピング その7

はじめに 今回はScrapyを使用してNPBの種類ごとの歴代最高記録のURLを取得してみた。 準備 Scrapyのインストール $ pip install scrapy Scrapyプロジェクトの作成 $ scrapy startproject npb $ cd npb $ tree . ├── npb │ ├── __init__.py │ ├── items.py │ …

python スクレイピング その6

はじめに 今回は巨人の藤田元司監督のWikiページを画像でコピーする処理を作成した。 準備 sele_headless.py from selenium import webdriver from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverMan…

python スクレイピング その4

はじめに 今回はseleniumでSlashdotを開いて、ブラウザを操作して結果を表示するプログラムを書いてみた。 準備 最初にpipで以下をインストールしておく。 $ pip install selenium $ pip install chromedriver $ pip install chromedriver-binary==90.0.4430…

python スクレイピング その3

はじめに 今回はYahoo画像検索で猫の画像をかき集めて保存するプログラムを書いてみた。 準備 imageDownload.py import requests, os, json, traceback from bs4 import BeautifulSoup path = './img-cat/' maxPage = 2 searchText = '猫' def imageDownload…

python スクレイピング その2

はじめに 前回の続きでスクレイピングについて書いていく。 準備 これまた本通りだと芸がないので、はてなブログの「注目」のタイトルとURLを抽出してCSVに出力する処理を作成した。 entryTitle.py import requests from bs4 import BeautifulSoup import cs…

python スクレイピング その1

はじめに この本を買ったので、学習成果をまとめていく。 準備 スクレイピングでWikipediaの「今日は何の日」を取得するんだけど芸がないので、「新しい記事」のリンクのタイトルをすべて取得してみる。 newArticles.py import requests from bs4 import Bea…

python Amazon Rekognition Detect Text

はじめに 今回は画像からテキストを分析するDetect Textを使ってみる。 準備 下記のプログラムを用意する。 detect_text.py.py from PIL import Image, ImageDraw, ImageFont import boto3, sys, json, os, traceback #画像の分析結果を返す def detect_text…

python pillow 色々な画像変換

はじめに 今回はpillowを使って色々な画像変換を試してみる。 準備 下記のプログラムを用意する。 convert.py from PIL import Image, ImageOps import sys if len(sys.argv) != 2: exit() #画像をsampleを開く inFileName = sys.argv[1] outFileName = 'out…

python pillow 色々なメソッド

はじめに 今回はpillowを使って線や四角形などを描画してみる。 準備 下記のプログラムを用意する。 pil.py from PIL import Image, ImageDraw #640x480の黒い画像を準備 im = Image.new('RGB', (640, 480), (0, 0, 0)) draw = ImageDraw.Draw(im) #丸四角の…

python pillow Image

はじめに 今回はdetect_facesのBounding Boxとテキストをpillowに置き換えてみる。 ※写真はAIで生成したものらしいです。 準備 先にpillowをインストールする。 pip install pillow 下記のプログラムを用意する。 detect_faces_pillow.py from PIL import Im…

python Amazon Rekognition Recognize Celebrities

はじめに 今回は有名人の顔を分析するRecognize Celebritiesを使ってみる。 準備 下記のプログラムを用意する。 recognize_celebrities.py import boto3, sys, json, cv2, math, os, traceback #recognize_celebritiesで顔の分析結果を返す def recognize_ce…

python cv2

cv2のputTextは残念ながら日本語が使えないようだ。 PILのImageDraw.textは使えるみたい。 PILの使い方も覚えて置き換えるのも良さそうだな

python Amazon Rekognition detect_facesその2

はじめに detect_facesの結果を分析してBoundingBoxと顔のパーツの位置を埋め込む処理を実装した。 流石にカート・コバーンの画像を使うのは気が引けるので画像なしで。 準備 下記のプログラムを用意する。 detect_faces.py import boto3, sys, json, cv2, m…

python Amazon Rekognition detect_facesその1

はじめに Amazon Rekognitionでdetect_facesを使用してみる。 今回は書くことがないので短め 準備 下記の画像をdetect_facesで分析させる。 下記のプログラムを用意する。 detect_faces.py import boto3, sys, json if len(sys.argv) != 2: exit() client=bo…

python Amazon Rekognition detect_labelsその2

※若干プログラムを修正しました。 はじめに Amazon Rekognitionで分析した画像にBoundingBoxとラベルを表示させてみる。 準備 事前に下記の画像をAmazon Rekognitionで分析させてJsonファイルを取得しておく。 下記のプログラムを用意する。 detect_labels.p…

python Amazon Rekognition detect_labelsその1

はじめに Amazon Rekognitionを使用してみる。 Amazon Rekognitionは簡単に言えば画像分析サービス。 画像に有名人がいるかとか、その画像に含まれている要素は何なのかを判断してくれる ほかにも、文字認識もできる。 今回は画像のラベル検出(detect_labels…

python AWS awscli

はじめに awscliを使いつつAWSを学ぶ環境を構築する。 準備 下記の手順でawscliの設定とインストールを行う。 $ pip install awscli $ aws configure AWS Access Key ID [None]: IAMの認証情報から取得 AWS Secret Access Key [None]: 最初に配られるCSVから…

python 画像のアップロードとグレー変換

はじめに POSTメソッドで画像ファイルをグレーに変換するプログラムを書いてみた。 準備 クライアントで画像をbese64に変換してJSONで転送する。 サーバは画像データを取り出して、一時保存してからグレーに変換してbese64でそのまま返すようにした。 imageC…

python タートル表示

はじめに 今日は短めにタートル表示をやってみる。 コード from turtle import * shape("turtle") col = ["red", "blue", "green", "tomato"] for i in range(4): color(col[i]) forward(500) left(90) done() 実行結果 まとめ 無駄にカラフルにしてみた GUI…

python POSTメソッドとレスポンス

はじめに 今回も人間のためのHTTPの続きで、POSTメソッドを使用して、レスポンスを表示してみる。 準備 サーバはFlaskでPOSTを受け取れるプログラムを実装してみた。 postServer.py from flask import Flask, request, jsonify app = Flask(__name__) @app.r…

python GETメソッドとレスポンス

はじめに 前回やった人間のためのHTTPの続きで、GETメソッドを使用して、レスポンスを表示してみる。 準備 サーバはFlaskのときに解説したプログラムを使用する。 getServer.py from flask import Flask, request app = Flask(__name__) @app.route('/getdat…

python リクエストとレスポンス

はじめに 「人間のためのHTTP」からリクエストを送信してレスポンス受け取る処理を解説する。 requests-docs-ja.readthedocs.io 簡単なリクエスト Googleにアクセスしてレスポンスと内容を表示するプログラムを作成してみる。 ※最初にpipでrequestsをインス…

flask blueprintとsession

はじめに 今回はページをモジュール分割するのに便利なblueprintとsessionを解説する。 ページ構成は単純でログイン画面でID1とID2を入力して、その値をsessionで引き継いでpostページに表示するだけ。 準備 下記のファイルを作成する。 application.py from…

flask テンプレート include

はじめに extendsとblockと似たような機能でincludeを解説する。 こちらも複数のHTMLを使い回すのに便利。 準備 下記のファイルを作成する。 render.py from flask import Flask, render_template, request app = Flask(__name__) @app.route('/start/') def…

flask テンプレート extendsとblock

はじめに flaskのテンプレートで複数のHTMLをまとめて出力する方法を解説する。 準備 下記のファイルを作成する。 render.py from flask import Flask, render_template, request app = Flask(__name__) @app.route('/start/') def login(): return render_t…

flask テンプレート 置換とループ

はじめに flaskのテンプレート(テンプレートエンジン「Jinja2」)を使って 簡単なループと置換処理を解説する。 準備 下記のファイルを作成する。 render.py from flask import Flask, render_template, request app = Flask(__name__) @app.route('/start/…

flask GETメソッド

はじめに 前回POSTメソッドでのデータの送信を行ったので、今回はGETメソッドでのデータの受け渡しを記載する。 GETメソッド 準備 下記のファイルを作成する。 getMethod.py from flask import Flask, request app = Flask(__name__) @app.route('/getdata',…

flask テンプレート

はじめに Flask便利機能の一つであるテンプレートについて解説する。 テンプレート 準備 下記のファイルを作成する。 render.py from flask import Flask, render_template, request app = Flask(__name__) @app.route('/login/') def login(): return rende…